zoukankan      html  css  js  c++  java
  • 浅谈css3长度单位rem,以及移动端布局技巧

    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; 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;1em;"></div>//所以子元素的em是1em=100px;
    </header>
    

    移动端页面开发技巧:

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

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

    我的用户群体大概是这三种设备
    设备名称 分辨率 估算字体大小 rem与px转换
    iphone5 320568 font-size:12px; 1rem=12px
    iphone6 375
    667 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-320px ) {
        html{font-size: 12px;}
    }
    @media screen and (min-321px) and (max-750px ) {
        html{font-size: 14px;}
    }
    @media screen and (min-751px ) {
        html{font-size: 16px;}
    }
    

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

    例:

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

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

  • 相关阅读:
    poj 2377 Bad Cowtractors (最‘大’生成树)
    POJ 3626 Mud Puddles (BFS)
    hdu 3367 Pseudoforest (krusual)
    hdu 1548 A strange lift (bfs)
    poj 1860 Currency Exchange (Bellman_Ford)
    poj 1005 I Think I Need a Houseboat
    poj 3625 Building Roads (最小生成树)
    zoj 1586 QS Network (最小生成树)
    poj 1679 The Unique MST (最小生成树)
    .NET中书写XML的一种简单方法
  • 原文地址:https://www.cnblogs.com/ysshuai/p/6694339.html
Copyright © 2011-2022 走看看