码迷,mamicode.com
首页 > 移动开发 > 详细

em与rem之间的区别以及移动设备中的rem适配方案

时间:2019-06-25 20:56:37      阅读:167      评论:0      收藏:0      [点我收藏+]

标签:gre   margin   har   span   大小   设计   round   共同点   class   

em与rem之间的区别:

  • 共同点:
  1. 它们都是像素单位
  2. 它们都是相对单位
  • 不同点:
  1. em大小是基于父元素的字体大小
  2. rem大小是基于根元素(html)的字体的大小

实例:

<!DOCTYPE html>
<html lang="en" style="font-size: 50px">
<head>
    <meta charset="UTF-8">
    <title>Document</title>
    <style>
        body {
            margin: 0;
            padding: 0;
            line-height: 1;
        }
        .container {
            font-size: 25px;
        }
        .em {
            font-size: 2em;
        }
        .rem {
            font-size: 2rem;
        }
    </style>
</head>
<body>
    <div class="container">
        <div class="em">AAAAA</div>
        <div class="rem">AAAAA</div>
    </div>
</body>
</html>

rem适配方案:

  • 核心原理:宽度和高度都能做到适配(等比缩放)
  • 通过控制 html 元素上的字体大小去控制页面上所有以rem为单位的基准值,控制尺寸
  • 核心换算公式:当前rem基准值 = 预设基准值 / 设计稿宽度 * 当前设备的宽度
  • 技术:媒体查询

实例:

  • 预设基准值: 100px
  • 设计稿宽度:640px
  • 假设的设备:640px, 414px,  320px
  • 注意:由于媒体查询代码是从上往下执行的,所以代码书写顺序要从小到大(如果不的话,可以选择其他方案,例如:min-width 和 max-width 都设置)
<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
    <title>rem适配</title>
    <style type="text/css">
        * {
            margin: 0;
            padding: 0;
        }
        /* 假设的设备 320 414 640 */
        @media (min-width: 320px) {
            html {
                font-size: 50px;
            }
        }
        @media (min-width: 414px) {
            html {
                font-size: 64.6875px; /* 100/640*414 */
            }
        }
        @media (min-width: 640px) {
            html {
                font-size: 100px;
            }
        }
        /* rem适配 */
        header {
            width: 100%;
            height: 1rem;
            line-height: 1rem;
            font-size: 0.32rem;
            text-align: center;
            background: green;
            color: #fff;
        }
    </style>
</head>

<body>
    <header>购物车</header>
</body>

</html>

 

em与rem之间的区别以及移动设备中的rem适配方案

标签:gre   margin   har   span   大小   设计   round   共同点   class   

原文地址:https://www.cnblogs.com/duxiu-fang/p/11085690.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!