• 页面适配之pt、px、em、rem的用法


    我们在开发页面时,会遇到pt、px、em、rem这四种单位。下面介绍一下这四个单位。

    1.pt,英文为points,绝对长度单位,意为磅。设计软件zeplin所用的单位就是pt。现在很少使用这个单位了。

    2.px,英文为pixel,相对长度单位,意为像素。是相对于屏幕分辨率的单位,国内主流单位。

    3.em,相对长度单位,相对于当前对象内文本的字体尺寸,即em的计算是基于父级元素font-size的。比如:

    <body style="font-size:14px">
        <p style="font-size:2em">我这里的字体显示大小是28px(14px*2)</p>  
        <div style="font-size:18px">
            <p style="font-size:2em">我这里显示字体大小是36px(18px*2),而不是上面计算的28px</p>
        </div>
    </body>

    这个单位国外用的比较多。

    4.rem,即root em,是CSS3新出的单位,用于移动端的适配。

    这个单位与em有什么区别呢?
    区别在于使用rem为元素设定字体大小时,仍然是相对大小,但相对的只是HTML根元素。

    这个单位可谓集相对大小和绝对大小的优点于一身,通过它既可以做到只修改根元素就成比例地调整所有字体大小,又可以避免字体大小逐层复合的连锁反应。

    目前,除了IE8及更早版本外,所有浏览器均已支持rem。对于不支持它的浏览器,应对方法也很简单,就是多写一个绝对单位(如pt)的声明。这些浏览器会忽略用rem设定的字体大小。

    使用方法:

    html{
        font-size:16px;
    }
     <body style="font-size:14px">
         <p style="font-size:2rem">我这里的字体显示大小是32px(16px*2),因为我是根据html根元素的font-size大小进行计算的</p>  
         <div style="font-size:18px">
             <p style="font-size:2rem">我这里显示字体大小是32px(16px*2),因为我是根据html根元素的font-size大小进行计算的</p>
         </div>
     </body>

    浏览器默认的字体大小就是16px,所以html的font-size不写也可以。

    这是px在线转rem的地址

    rem配合媒体查询可兼容移动端的不同设备。如:

    /*Galaxy S5 landscape & portrait*/
    @media screen
    and (device- 360px)
    and (device-height: 640px)
    and (-webkit-device-pixel-ratio: 3) {
        html,body{
            font-size: 13.913px;
        }
    }

    /*兼容iphone5  screen-360px*/
    @media (device-height:568px) and (-webkit-min-device-pixel-ratio:2){
        html,body{
            font-size: 12.367px;
        }
    }
    /*iphone 6/7/8 screen-375px*/
    @media (min-device-width : 375px) and (max-device-width : 667px) and (-webkit-min-device-pixel-ratio : 2){
        html,body{
            font-size: 14.493px;
        }
    }
    @media only screen and (device- 375px) and (device-height: 812px) and (-webkit-device-pixel-ratio: 3){
        /*iphoneX*/
        html,body{
            font-size: 14.493px;
        }
    }
    /*iphone 6plus  screen-414px*/
    @media (min-device-width : 414px) and (max-device-width : 736px) and (-webkit-min-device-pixel-ratio : 3){
        html,body{
            font-size: 16px;
        }
    }
    @media only screen and (min-device-width : 768px) and (max-device-width : 1024px) and (orientation : portrait){
        /*ipad等中等设备*/
        html,body{
            font-size: 29.681px;
        }
    }

    随着屏幕的增大,html的字体大小也增大,其他地方也因使用了rem按比例增大。

  • 相关阅读:
    树系列学习--树的定义(-)
    idea live template高级知识, 进阶(给方法,类,js方法添加注释)(二)
    mysql 查询所有子节点的相关数据
    maven util 类 添加 service
    idea live template高级知识, 进阶(给方法,类,js方法添加注释)
    idea live template
    eclipse 好用的插件总结
    Spirng+SpringMVC+Maven+Mybatis+MySQL项目搭建
    Mac OS 的命令行 总结
    jsp,jquery,spring mvc 实现导出文件
  • 原文地址:https://www.cnblogs.com/luoyihao/p/12127609.html
Copyright © 2020-2023  润新知