一、rem 原理与简介
字体单位:
    值根据 html 根元素大小而定,同样可以作为宽度,高度等单位
适配原理:
    将 px 替换为 rem,动态修改 HTML 根元素的 font-size 适配
兼容性:
    Ios 6 以上 和  Android 2.1 以上,基本覆盖所有流行的手机系统
// 移动 web 独有的 viewport 标签
// initial-scale 初始缩放
// user-scaleable 用户是否可缩放
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scaleable=no">
 
1rem = html 的 font-size
html 不设置 font-size 默认 1rem = 16px
 
二、如何根据不同屏幕设置 font-size 大小
1、媒体查询
<style type="text/css">   
   @media screen and (max-width: 320px) {
        html {
          font-size: 20px;
        }
      }  
    @media screen and (max-width: 360px) and (min-width: 321px) {
        html {
          font-size: 24px;
        }
      }
</style>
2、使用 js 方式
<script type="text/javascript">
// 获取视窗宽度
let htmlWidth =
document.documentElement.clientWidth || document.body.clientWidth
console.log(htmlWidth) // 获取视窗高度
let htmlDom = document.getElementsByTagName('html')[0] htmlDom.style.fontSize = htmlWidth / 10 + 'px'
</script>
 
三、rem 与 scss 相结合
1、rem 基准值的计算
    rem 基准值就是 html 的 font-size
2、rem 数值计算与构建
    换算出的 px 值的 rem 的值
    如 1rem = 16px
    170px = 170/16 rem
3、rem 与 scss 相结合

// 封装
@function px2rem($px) {
$rem: 37.5px // 以 iPhone 6 浏览器为基础 基准值就为 375 / 10 = 37.5
@return ($px / $rem) + rem // return 的值为 传进来的 px值 / rem基准值 + rem 单位
}
// 使用
.box {
width: px2rem(100px)
 height: px2rem(100px)
}

rem 原理与简介的更多相关文章

  1. rem原理

    rem布局实际上就是实现等比缩放 试想,如果我们的元素在不同的屏幕上可以按照相同的比例来进行缩放就好了. rem的计算原理: 试想把屏幕平均分成10份,那么每一份就是1/10,我们选择每一份的大小是1 ...

  2. Kickstart无人值守原理及简介

    原文转自:https://www.cnblogs.com/itzgr/p/10029461.html作者:木二 目录 一 简介及原理 二 搭建无人值守步骤 三 PXE介绍 四 Kickstart简介 ...

  3. 淘宝、网易移动端 px 转换 rem 原理,Vue-cli 实现 px 转换 rem

       在过去的一段时间里面一直在使用Vue配合 lib-flexible和px2rem-loader配合做移动端的网页适配.秉着求知的思想,今天决定对他的原理进行分析.目前网上比较主流使用的就是淘宝方 ...

  4. ELK原理与简介

    为什么用到ELK: 一般我们需要进行日志分析场景:直接在日志文件中 grep.awk 就可以获得自己想要的信息.但在规模较大的场景中,此方法效率低下,面临问题包括日志量太大如何归档.文本搜索太慢怎么办 ...

  5. MapReduce工作原理流程简介

    在MapReduce整个过程可以概括为以下过程: 输入 --> map --> shuffle --> reduce -->输出 输入文件会被切分成多个块,每一块都有一个map ...

  6. Rem实现移动端适配

    移动端适配 web页面跑在手机端(h5页面) 跨平台 基于webview() 基于webkit 常见适配方法 pc端采用display:inline-block,让div盒子横着排 移动web:采用定 ...

  7. Xposed 框架 hook 简介 原理 案例 MD

    Markdown版本笔记 我的GitHub首页 我的博客 我的微信 我的邮箱 MyAndroidBlogs baiqiantao baiqiantao bqt20094 baiqiantao@sina ...

  8. rpc简介、原理、实例

    简介 RPC(Remote Procedure Call,远程过程调用)是建立在Socket之上的,出于一种类比的愿望,在一台机器上运行的主程序,可以调用另一台机器上准备好的子程序,就像LPC(本地过 ...

  9. 移动web开发适配rem

    移动的meta标签 <meta  name="viewport" content="width=device-width, initial-scale=1,user ...

随机推荐

  1. autolayout原理

    Autolayout Engine根据视图间的约束关系得到一个线性方程组,求这个线性方程组的解即得到每个视图的位置信息.(x,y,width,height) 参考: https://www.jians ...

  2. my题库

    数论: 51nod 1240 莫比乌斯函数 51nod 1135 原根 图论: 51nod 1264 线段相交 51nod 1298 圆与三角形 dp: 数位dp: hdu 4734 51nod 10 ...

  3. TCP/IP的4层模型

    1.网络接入层:将需要相互连接的节点接入网络中,从而为数据传输提供条件: 2.网际互联层:找到要传输数据的目标节点: 3.传输层:实际传输数据: 4.应用层:使用接收到的数据: 形象一点的介绍:整个分 ...

  4. 小A买彩票-(组合数)

    链接:https://ac.nowcoder.com/acm/contest/549/C来源:牛客网 题目描述 小A最近开始沉迷买彩票,并且希望能够通过买彩票发家致富.已知购买一张彩票需要3元,而彩票 ...

  5. react组件开发规范总结

    开发react也有一段时间了,一开始的随手写,生命周期乱用,无状态组件的不熟悉.现在逐渐规范一下,从网上各个地方copy过来,整理出一份文档.可能不全,后续还得多提炼总结和完善. 一.组件内方法书写, ...

  6. HATEOAS

    HATEOAS(Hypermedia as the engine of application state)是 REST 架构风格中最复杂的约束,也是构建成熟 REST 服务的核心.它的重要性在于打破 ...

  7. windows上不能启动Apache,遇到错误的方法之一

    最近在2008服务器上安装apache,出现了No installed ConfigArgs for the service "Apache2.4"这个错误. 启动不了,重装了一样 ...

  8. 第八周博客作业 <西北师范大学| 周安伟>

    第八周博客作业 助教博客链接https://home.cnblogs.com/u/zaw-315/ 作业要求博客链接https://www.cnblogs.com/nwnu-daizh/p/10687 ...

  9. Appium Capabilities 详解(Android适配/IOS后续再补充)

    Appium 关键字 关键字 描述 实例 automationName 你想使用的自动化测试引擎 Appium (默认) 或 Selendroid platformName 你要测试的手机操作系统 i ...

  10. xp密钥-资源分享

    xp-密钥:QC986-27D34-6M3TY-JJXP9-TBGMD ftp-资源地址: ftp://10.10.31.2/?tdsourcetag=s_pctim_aiomsg