手机端适配-rem布局
来源:互联网 发布:淘宝子账号在哪里认证 编辑:程序博客网 时间:2024/05/17 03:15
rem布局
当写到移动端页面的时候,用px单位跟媒体查询是很难做到适配所有机型的,所以我找到了rem布局;
rem: rem是根据html节点的fontSize来自动修改的,当html元素的fontSize是12px时,
那么久可以得出 1rem = 12px;
rem布局: 其实就是把需要自适应元素的px换成rem,因为rem是根据html自动修改的,所以我们
可以用js检测手机屏幕大小,再根据屏幕大小计算出html的fontSize值,从而使页面内的rem发生改变。
这是rem布局的核心代码,这段代码的大意是:
如果页面的宽度超过了640px,那么页面中html的font-size恒为100px,否则,
页面中html的font-size的大小为: 100 * (当前页面宽度 / 375)
(function (doc, win) { var docEl = doc.documentElement, resizeEvt = 'orientationchange' in window ? 'orientationchange' : 'resize', recalc = function () { var clientWidth = docEl.clientWidth; if (!clientWidth) return; docEl.style.fontSize = 100 * (clientWidth / 375) + 'px'; }; if (!doc.addEventListener) return; win.addEventListener(resizeEvt, recalc, false); doc.addEventListener('DOMContentLoaded', recalc, false); })(document, window);
为什么要设置html的font-size?
如果你把html的font-size设为20px,前面说过,rem就是html的字体大小,那么1rem = 20px。
此时,此时宽60px,高40px的元素样式就这样设置如下 ↓
width: 3rem;height: 2rem;
那要是宽55px,高37px呢?然后经过换算,,设置如下 ↓
width: 2.75rem;height: 1.85rem;
是不是发现这换算起来有点麻烦啊…
如果我们一开始把html的font-size设为100px呢?此时1rem = 100px,那么上面的
宽55px,高37px的元素样式就可以这么设置 ↓
width: 0.55rem;height: 0.37rem;
是不是换算起来简单多了?!
所以我们可以先把html的字体大小设为100px,再通过简单的换算计算出各个元素的rem。
375是什么?
375其实就是你当前已经适配好的手机的屏幕宽度,就是在谷歌浏览器下模拟iPhone6的屏幕宽度,
我是以这个宽度来做原稿的,如果是在其他宽度下做的原稿则把375改成其它宽度。
- 手机端适配-rem布局
- 手机端适配 rem布局
- 自适应手机端rem布局
- 手机端rem布局详解
- 移动端(手机)自适应rem布局
- 手机端响应式解决方案-rem布局
- 手机端页面布局之rem
- rem布局
- rem布局
- rem布局
- 手机端页面自适应解决方案—rem布局
- 手机端页面自适应解决方案—rem布局
- (淘宝无限适配)手机端rem布局详解
- 手机端rem布局详解(淘宝无限适配)
- 手机端页面自适应解决方案—rem布局
- 手机端页面自适应解决方案—rem布局
- 手机端页面自适应解决方案—rem布局
- 手机端页面自适应解决方案—rem布局
- HDU 4288 Coder (技巧性暴力模拟+二分||线段树+离线操作)
- kubernetes实践-入门与环境搭建
- android 和服务端交互数据压缩
- android 蓝牙4.0广播功能应用
- 51nod1967 路径定向 Flenry
- 手机端适配-rem布局
- [kuangbin带你飞]专题四 最短路练习 A
- SCU 3035 反转序列 块状链表
- 性能考虑
- 2017多校第3场 HDU 6060 RXD and dividing 思维,构造最优解
- 理解线程池
- R实战:【基本类型】列表list
- 关于循环中的作用域问题
- 安装Rhel7.2报错解决