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

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

1.1

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

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

pt单位名称为点(Point),绝对长度单位一般老版本的table使用长度大小单位但是现在基本上没有使用

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

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

1.2

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 

 

 
 
 

 

转载于:https://www.cnblogs.com/justSmile2/p/10267668.html

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值