美文网首页
适配手机页面布局的动态rem方案

适配手机页面布局的动态rem方案

作者: 王童孟 | 来源:发表于2018-06-13 17:22 被阅读0次

1. 基础概念

em:一个汉字宽
rem:根元素(<html>元素)的font-size
chrome浏览器的font-size默认值16px (注意:最小是12px,再小无效)
rem和em的区别?没什么关系
1em = 本身元素的font-size(可以这样理解,不过不准确)
1rem = 根元素的font-size的大小

2. 动态 rem 方案

由于手机屏幕众多导致的尺寸不同的问题,我们需要一种自适应方案。
自适应方案可以用百分比布局 缺点:高度不能和宽度配合。
rem方案是以屏幕宽为基准的方案,通过js动态获取屏幕的宽度,从而和rem产生联系。

var pageWidth = window.innnerWidth
document.write('<style>html{font-size:' + pageWidth/10 + 'px;'}</style>')

这样 1rem = html的font-size = 1/10 pageWidth


1.png

注意:使用rem方案,经常犯的错误就是,js动态更改根元素html元素的font-size时,如果换算比例过小(/100),换导致html的font-size小于12px,chrom默认不能小于,这就出错了,不容易被察觉。
利用rem和其他单位混用可以达到很好的效果。

3. 在 SCSS 里使用 PX2REM,自动进行rem值换算

利用scss,我们就不用自己手算了,设计稿是多少就写多少,再将scss文件转成css文件即可。
使用步骤(windows可用,命令行工具是git bash)

  • npm config set registry https://registry.npm.taobao.org/
  • touch ~/.bashrc
  • echo 'export SASS_BINARY_SITE="https://npm.taobao.org/mirrors/node-sass"' >> ~/.bashrc
  • source ~/.bashrc
  • npm i -g node-sass
  • mkdir ~/Desktop/scss-demo
  • cd ~/Desktop/scss-demo
  • mkdir scss css
  • touch scss/style.scss
  • start scss/style.scss
  • node-sass -wr scss -o css
    编辑 scss 文件就会自动得到 css 文件
    在 scss 文件里添加
@function px( $px ){
  @return $px/$designWidth*10 + rem;
}   
$designWidth : 640; // 640 是设计稿的宽度,你要根据设计稿的宽度填写。
.child{
  width: px(320);
  height: px(160);
  margin: px(40) px(40);
  border: 1px solid red;
  float: left;
  font-size: 1.2em;
}
2.png

即可实现 px 自动变 rem,不需要手动换算。

相关文章

  • 适配手机页面布局的动态rem方案

    1. 基础概念 em:一个汉字宽rem:根元素( 元素)的font-sizechrome浏览器的font-size...

  • HTML学习之图片字体适配

    移动h5 图片字体等适配WebApp开发之--"rem"单位Rem实现自适应初体验手机端页面自适应解决方案—rem布局

  • rem-web 前端页面适配

    web 前端页面适配, rem 解决方案,以及解决部分 Android 手机(例如华为) 通过 rem 计算的宽度...

  • 手机端页面自适应解决方案—rem布局

    手机端页面自适应解决方案—rem布局 - 简书

  • 移动端、PC端屏幕适配

    移动端适配 页面引入ydui.flexible.js页面布局采用rem布局rem计算方式:设计图尺寸px / 10...

  • 2020-10-30 web移动端

    web移动端 1.重点:适配 2.目标:掌握4种适配方案 ( 流式布局、弹性布局、响应式布局、像素适配(rem适配...

  • meta-viewport

    相关动态REM的文章 移动端高清、多屏适配方案使用Flexible实现手淘H5页面的终端适配 viewport v...

  • 关于大屏利用rem自适应

    功课传送门:大屏上的全屏页面的自适应适配方案 rem 方案 rem (font size of the root ...

  • 多屏幕适配布局问题

    移动端布局,为了适配各种大屏手机,目前最好的方案莫过于使用相对单位 rem. 基于rem的原理,我们要做的就是针对...

  • 手机页面布局杂谈

    手机页面布局方案有好多种,但不管你怎样做,都需要用viewport, viewport就不在这谈了。 rem布局,...

网友评论

      本文标题:适配手机页面布局的动态rem方案

      本文链接:https://www.haomeiwen.com/subject/lffseftx.html