网页常见单位: px em pt % rem vw、vh、vmin、vmax , rem 使用

1.网页常见单位:  px  em  pt    vw\vh   rem css

1.1html

px单位名称为像素,相对长度单位,像素(px)是相对于显示器屏幕分辨率而言  (最终解析单位)css3

em单位名称为相对长度单位。相对于当前对象内文本的字体尺寸   (相对于父元素的字体大小的单位,那若是你要设置一个元素的宽度,高度,那么就得去看他父级的大小,若是父级也是em单位,你又得去找他的父级,得一层层计算,才能获得准确的像素值~)web

pt单位名称为点(Point),绝对长度单位通常老版本的table使用长度大小单位可是如今基本上没有使用浏览器

ide

  换算:浏览器的默认字体高度16px,1em=16px        12px至关于9pt长度布局

字体

% 相对于父元素的大小设定的比率flex

1.2spa

css3 新增:

vw\vh  相对于视口的宽度。视口被均分为100单位的vw        ( 至关精确的使用,否则误差很大,适用于宽泛布局 )

 vmin 和 vmax 是当前较小的 vw 和 vh 和当前较大的 vw 和 vh      使得文字大小在横竖屏下保持一致

rem    rem相对的是HTML根元素  

 

参考连接:

css3新单位vw、vh、vmin、vmax的使用详解

css  参考手册

 

2.rem 使用 ( 适用于等比缩放场景,当布局差别化仍是得 media 来区分)   

等比缩放思想  简洁代码    

    <meta name="viewport" content="width=640,user-scalable=no" />
 

2.1 要点:

rem是以html为基准

主流浏览器的font-size默认值为16px      1rem=16px

浏览器支持最小字体不一样 如谷歌 12px  (当设置10px时,生效的是12px)

 

2.2 使用

html{
font-size: 62.5%;
}
body{
font-size: 1.4rem;
}
设置 html 字体为10px,body设置为14px,其他距离换算都是 / 10 。
 
better:
html{
font-size: 625%;
}
body{
font-size: 0.14rem;
}
 设置 html 字体为10px,body设置为14px,其他距离换算都是 / 100 。
 
js 代码  ( 平滑过渡能够设置缓动 或者直接用 jq )
        (function (doc, win) {
            var docEl = doc.documentElement,
                resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize',
                recalc = function () {
                    var clientWidth = docEl.clientWidth;
                    if (!clientWidth) return;
                    if (clientWidth >= 640) {               
                        // docEl.style.fontSize = '100px';
                        docEl.style.fontSize = 100 * (clientWidth / 640) + 'px';
                    } else {
                        docEl.style.fontSize = 100 * (clientWidth / 640) + 'px';
                    }
                };


            if (!doc.addEventListener) return;
            win.addEventListener(resizeEvt, recalc, false);
            doc.addEventListener('DOMContentLoaded', recalc, false);
        })(document, window);
View Code

tips:若是初次加载页面闪动:由大变小

1.能够改变透明度来缓解:初始设置页面body   visibility: hidden;   字体缩放完成,再弄回正常的   visibility: visible;

2. 设置一系列算好的 media 字体

如:

@media (min-width: 640px){html{font-size: 85.3333px;} }

@media (min-width: 750px){html{font-size: 100px;} }

 

 
在rem概念没引入前咱们的作法是,以最小的屏幕(iPhone)作一版数据出来,而后经过js去控制viewport 的 initial-scale (网页缩放比例)
如:iPhone4下:
<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0 />

 iPhone6须要调整缩放比例 initial-scale=375/320 =1.18

<meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.18 />

 

2.4 相关连接

移动端适配之REM 

相关文章
相关标签/搜索