美文网首页工作生活
CSS单位px、em、rem、%、vh、vw、vmin、vmax

CSS单位px、em、rem、%、vh、vw、vmin、vmax

作者: 栗子daisy | 来源:发表于2019-07-01 21:07 被阅读0次
    单位 说明 特点
    px (pixel)像素 可固定布局或元素大小,缺点无弹性
    em 参考物是父元素的font-size,具有继承的特点
    rem 相对于根元素html
    % 1、普通定位元素:父元素 ;absolute;的元素是相对于已定位的父元素 ; fixed;的元素是相对于ViewPort(可视窗口)
    vw (view width)视窗宽度的百分比 1vw 代表视窗的宽度为 1%
    vh (view height)视窗高度的百分比 假如高度是1200px的话。那1vh就是12px
    vmin 当前 vw 和 vh 中较小的一个值
    vmax 当前 vw 和 vh 中较大的一个值

    vw、vh 与 % 百分比的区别

    (1)% 是相对于父元素的大小设定的比率,vwvh 是视窗大小决定的。
    (2)
    vw
    、**vh **优势在于能够直接获取高度,而用 **% **在没有设置 **body **高度的情况下,是无法正确获得可视区域的高度的,所以这是挺不错的优势。

     #mask {
            width: 100vw;
            height: 100vh;
            position: fixed;
            top: 0;
            left: 0;
          }
    
    vmin、vmax 用处

    做移动页面开发时,如果使用 vwwh设置字体大小(比如 5vw),在竖屏和横屏状态下显示的字体大小是不一样的。
    由于 vminvmax是当前较小的 vwvh和当前较大的 vwvh。这里就可以用到 vminvmax。使得文字大小在横竖屏下保持一致。


    浏览器兼容性

    vw单位兼容性比rem稍差,ios8、安卓4.4及以上才完全支持。这也是为什么之前rem布局一直更流行的原因。

    (1)桌面 PC

    • Chrome:自 26版起就完美支持(2013年2月)

    • Firefox:自 19版起就完美支持(2013年1月)

    • Safari:自6.1版起就完美支持(2013年10月)

    • Opera:自15版起就完美支持(2013年7月)

    • IE:自 IE10 起(包括 Edge)到现在还只是部分支持(不支持 vmax,同时 vm代替 vmin
      (2)移动设备

    • Android:自 4.4 版起就完美支持(2013年12月)

    • iOS:自 iOS8版起就完美支持(2014年9月)


    px
    px就是pixel的缩写,意为像素。px就是设备或者图片最小的一个点,比如常常听到的电脑像素是1024x768的,表示的是水平方向是1024个像素点,垂直方向是768个像素点。

    是我们网页设计常用的单位,也是基本单位。通过px可以设置固定的布局或者元素大小,缺点是没有弹性。

    2、em

    参考物是父元素的font-size,具有继承的特点。如果自身定义了font-size按自身来计算(浏览器默认字体是16px),整个页面内1em不是一个固定的值。
    特点是1. em的值并不是固定的; 2. em会继承父级元素的字体大小。
    3、rem

    rem是相对于根元素html,这样就意味着,我们只需要在根元素确定一个参考值,可以设计HTML为大小为10px,到时设置1.2rem就是12px.以此类推。

    优点是,只需要设置根目录的大小就可以把整个页面的成比例的调好。

    4、%

    一般来说就是相对于父元素的,

    1、对于普通定位元素就是我们理解的父元素 2、对于position: absolute;的元素是相对于已定位的父元素 3、对于position: fixed;的元素是相对于ViewPort(可视窗口),
    5、vw

    css3新单位,view width的简写,是指可视窗口的宽度。假如宽度是1200px的话。那10vw就是120px

    举个例子:浏览器宽度1200px, 1 vw = 1200px/100 = 12 px。

    6、vh

    css3新单位,view height的简写,是指可视窗口的高度。假如高度是1200px的话。那10vh就是120px

    举个例子:浏览器高度900px, 1 vh = 900px/100 = 9 px。

    7、vm

    css3新单位,相对于视口的宽度或高度中较小的那个。其中最小的那个被均分为100单位的vm 举个例子:浏览器高度900px,宽度1200px,取最小的浏览器高度,1 vm = 900px/100 = 9 px。
    兼容性太差 ,现在基本上没人用,我试了一下Chrome就用不了。


    参考:https://blog.csdn.net/weixin_42192534/article/details/80289782
    https://blog.csdn.net/ZNYSYS520/article/details/76053961

    相关文章

      网友评论

        本文标题:CSS单位px、em、rem、%、vh、vw、vmin、vmax

        本文链接:https://www.haomeiwen.com/subject/qvzncctx.html