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

更新日期: 2019-05-25阅读: 2.2k标签: 适配

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>


链接: https://fly63.com/article/detial/3889

如何针对 iPhone X 设计网站?

在全面屏的 iPhone X 上,不需要而外的代码,Safari 可以非常完美的展示现有的网站。整个网站的内容都会自动地展示在一个“安全区域”内,并不会被四周的圆角或者“小刘海”遮挡住。

Web 端屏幕适配方案

像素 :像素是屏幕显示最小的单位。设备像素 :设备像素又称物理像素(physical pixel),设备能控制显示的最小单位,我们可以把这些像素看作成显示器上一个个的点。 iPhone5 的物理像素是 640 X 1136

移动端前端适配方案总汇

关于移动端适配的技术方案主要有以下四种:(1)通过媒体查询的方式即CSS3的meida queries(2)以天猫首页为代表的 flex 弹性布局(3)以淘宝首页为代表的 rem+viewport缩放(4)rem 方式

IphoneX底部适配

判断是否是IPhoneX手机;增加fix-iphonex-bottom样式,如果想更改IPhoneX底部34像素的背景颜色怎么办呢?增加iphone-footer-bg样式

移动端兼容适配的分析

网站适配的终端可以用js或媒体查询的方式获取,分配对应的样式。布局上采用相对单位,百分比和flex的弹性方式。对移动端的特殊性进行适配,如1px问题,默认样式等。

React Native之图片/宽高/字体平台适配

为了提高代码的兼容性,我们有时需要判断当前系统的平台,然后做一些适配。比如,我们在使用 StatusBar 做导航栏的时候,在 iOS 平台下根视图的位置默认情况下是占据状态栏的位置的,我们通常希望状态栏下面能显示一个导航栏

基于Vue/React项目的移动端适配方案

本文的目标是通过下文介绍的适配方案,使用vue或react开发移动端及H5的时候,不需要再关心移动设备的大小,只需要按照固定设计稿的px值布局,提升开发效率。

移动端适配

首先是名词介绍:像素:Pixel,就是物理像素:也就是设备像素,逻辑像素:(css像素)单位为 px设备像素比:devicePixelRatio,(在高倍屏会出现1px变大的问题)。css单位em:相对于当前对象内文本的字体尺寸

内容以共享、参考、研究为目的,不存在任何商业目的。其版权属原作者所有,如有侵权或违规,请与小编联系!情况属实本人将予以删除!