• 技术文章 >web前端 >css教程

    深入理解CSS中的rem以及移动端的布局方法

    yuliayulia2018-09-17 16:15:08原创820
    相信大家对px已经很熟悉了,但是提到rem有些人就不知道了。今天这篇文章主要介绍什么是rem,em,以及他们在移动端中的布局方法,有需要的可以参考一下,希望对你有帮助。

    一、rem是什么?

    rem是css3中新增加的一个单位属性(font size of the root element),根据页面的根节点的字体大小进行转变的单位。root!!!!!!!!!根节点,也就是html。

    例:(下面例子中的根节点是html ,它的字体大小是100px,所以根节点下面的元素所设置的rem,都是1rem=100px。)
    rem的初始值是16px,也就是说在没有设置根节点的font-size的时候,1rem=16px

    <html>
        <head>
            <style>
                html,body{ font-size: 100px;  }
                header{ height: 1rem;width: 1rem;  }  
            </style>
        </head>
        <body></body>
        <header></header>
    </html>

    二、em是什么

    em也是一个相对单位,em单位是根据父元素的字体大小来进行转变的单位。
    1、em的值并不是固定的;
    2、em会继承父级元素的字体大小。

    父节点
    例:

    <header style="font-size:100px;">//父元素的字体大小是100px
        <div style="height:1em;width:1em;"></div>//所以子元素的em是1em=100px;
    </header>

    三、移动端页面开发技巧:

    先调查用户的使用情况,总结出大部分用户使用的都是什么设备。
    比如:我现在的用户大多使用的是三种手机,我们先将每种手机的分辨率都从网上找出来。

    将他们都罗列出来,然后去写媒体查询(因为不同手机分辨率不同,所以用像素的话,会出现显示的相同,举个栗子~ 比如说小朋友吃饭,食堂给小朋友的标配是一个馒头,可是有的小朋友饭量大,有的饭量小,所以会出现不够吃或者吃不了造成浪费。怎么避免这种情况呢,所以食堂大妈想了一个主意体重在50斤~60斤的小盆友可以领取到一个馒头,低于50斤的半个馒头,体重大于60斤的,两个馒头,这三种分配方式。)

    我的用户群体大概是这三种设备
    设备名称 分辨率 估算字体大小 rem与px转换
    iphone5 320568 font-size:12px; 1rem=12px
    iphone6 375667 font-size:14px; 1rem=14px
    iphone6 Plus 414*736 font-size:16px; 1rem=16px

    先取出一个中间的设备来做基本样式的书写
    最开始的书写可以根据设计图纸来进行px的书写(也就是先选择好馒头的大小)
    优先写出一套模版,然后基于这套模版去写别的设备的媒体查询

    在页面中优先写出媒体查询的标签

    <meta name="viewport" content="width=device-width,      initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0,    user-scalable=no">

    width - viewport设备的宽度
    height - viewport设备的高度
    initial-scale - 初始的缩放比例
    minimum-scale - 允许用户缩放到的最小比例
    maximum-scale - 允许用户缩放到的最大比例
    user-scalable - 用户是否可以手动缩放

    上面分配好了,按照这种方式写媒体查询

    html,body{ height: 100%; margin: 0; padding: 0; font-size: 14px;}//注意初始样式必须写在最顶部!!!!如果写在媒体查询底部的话就会覆盖上方的媒体查询(因为是层叠样式表嘛~)

    @media screen and (max-width:320px ) {
        html{font-size: 12px;}
    }
    @media screen and (min-width:321px) and (max-width:750px ) {
        html{font-size: 14px;}
    }
    @media screen and (min-width:751px ) {
        html{font-size: 16px;}
    }

    因为上面写好了一套初始模版,因为初始模版都是px的,在文章的开端我们就强调了为什么不能用px了,所以我们要将页面中的px转换成相应的rem值

    例:

    header{
        width:140px;//转化为10rem,因为我们是基于最中间的设备做的,中间设备的font-size:14px,所以140px=10rem。
    }

    所有用px的高宽全部改成rem这样就完成了,对三种设备的适配。

    以上就是深入理解CSS中的rem以及移动端的布局方法的详细内容,更多请关注php中文网其它相关文章!

    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    专题推荐:rem CSS,移动端
    上一篇:如何使用纯CSS实现抽象的水波荡漾的动画(附源码) 下一篇:css中clip属性是什么?clip:rect()制作圆形进度条动画(代码实例)
    VIP课程(WEB全栈开发)

    相关文章推荐

    • 【活动】充值PHP中文网VIP即送云服务器• em px的关系_经验交流• rem和em和px vh vw和% 移动端长度单位 - 弑列• CSS中字体尺寸px pt em rem等的区别• 相比px而言,在响应式web设计中,em有何优势?
    1/1

    PHP中文网