rem一句话说明白+亲测实例
2017-03-14 00:00
274 查看
摘要: rem
我们统一使用rem对页面进行整体缩放。强烈建议大家对需要适应页面大小的任何元素都使用 rem 为单位来定义。
还有,更多终端的比例适配rem更好。你的界面会在N种长宽的手机上展示,更有可能跨到pad上。
举个栗子:
如果你设置一个头部bar,比如,宽度100%,高度40px这种固定高度。在手机上40px,那么pad上也将显示100%宽度,高40px。这时,你会发现---》40px高度的bar,在手机上ok,在pad上则太窄了。
如果你的设计稿bar高度是:40px,那么就用 40除以20,= 2rem;
如果你的设计稿 banner高度是:300px,那么300除以20,则是15rem
这里的分母20,就是页面中,html的根值。
根值根据实际客户端的屏幕大小做了媒体查询,然后动态改变根值,从而实现了具体屏幕大小,改变页面的整体比例。
页面元素的大小依赖-------》根值----》依赖媒体查询后给的值
rem的好处
rem 是相对于html元素的
font-size的一个单位。如果 html 上定义了
font-size: 20px;,则无论在任何地方都是
1rem = 20px这个大小不会受到父元素的影响。
我们统一使用rem对页面进行整体缩放。强烈建议大家对需要适应页面大小的任何元素都使用 rem 为单位来定义。
你也许会问?
也许,你会说,移动端宽度我都是用的百分比%也可以自适应呢?那我问你,高度的自适应怎么办?因为影响一个元素的大小,不仅是宽,还有高。还有,更多终端的比例适配rem更好。你的界面会在N种长宽的手机上展示,更有可能跨到pad上。
举个栗子:
如果你设置一个头部bar,比如,宽度100%,高度40px这种固定高度。在手机上40px,那么pad上也将显示100%宽度,高40px。这时,你会发现---》40px高度的bar,在手机上ok,在pad上则太窄了。
rem工作原理
1,媒体查询判断屏幕宽度-----》2,设置html根值-----》3,其他元素因为单位都是rem,依赖与根值,--------》4,比例放大或缩小。rem实例
<!DOCTYPE html> <html> <head> <meta charset="UTF-8"> <meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" name="viewport"> <title>rem用法和水平2个按钮平均布局</title> <style> *{ margin: 0px; padding: 0px;} html{ font-size: 20px;} /*初始值给html根一个值*/ /*以下利用媒体查询来判断,不同屏幕的html的根的值*/ @media only screen and (min-width: 400px) { html { font-size: 21.33333333px !important; } } @media only screen and (min-width: 414px) { html { font-size: 22.08px !important; } } @media only screen and (min-width: 480px) { html { font-size: 25.6px !important; } } body{ padding: 0.75rem;} /*按钮*/ .row-btn{ margin-left: -2%;} .row-btn .btn-50{ float: left; margin-left: 2%; width: 48%; font-size: 0.7rem; line-height: 2.2rem; text-align:center; background: #00A5E0; color: #fff; font-family: "微软雅黑";} </style> </head> <body> <div class="row-btn"> <div class="btn-50">确定</div> <div class="btn-50">取消</div> </div> </body> </html>
rem具体应用(对上面栗子的补充,以上例为准)
比如你的设计稿bar高度是:15px,那么用15除以20,= 0.75rem;如果你的设计稿bar高度是:40px,那么就用 40除以20,= 2rem;
如果你的设计稿 banner高度是:300px,那么300除以20,则是15rem
这里的分母20,就是页面中,html的根值。
根值根据实际客户端的屏幕大小做了媒体查询,然后动态改变根值,从而实现了具体屏幕大小,改变页面的整体比例。
页面元素的大小依赖-------》根值----》依赖媒体查询后给的值
相关文章推荐
- 挤压造型Extrusion的节点说明和应用实例
- 实例说明java中覆盖静态方法和非静态方法的不同
- DbToCodeDemo示例项目源码DALFactory无法反射创建类实例的常见错误说明
- 战30天C++入门极限-对C++中引用的补充说明(实例二)
- 用实例说明如何用JavaScript生成XML
- 以实例说明如何使用C#从数据库中提取数据,按要求自动生成定制的Excel表格
- Berkeley DB中Btree、Queue、Recno记录编号的说明及应用实例
- 实例说明sql优化的重要性
- 挑战30天C++入门极限-对C++中引用的补充说明(实例三)
- 通过实例说明J2ME通用联网框架的使用
- 以实例说明如何使用C#从数据库中提取数据,按要求自动生成定制的Excel表格?[转]
- 用实例说明如何用JavaScript生成XML
- DbToCodeDemo示例项目源码DALFactory无法反射创建类实例的常见错误说明
- VBScript语法速查及实例说明
- Ibatis2.0使用说明(一)——入门实例篇[原]
- 正则表达式的应用实例通俗说明
- Jawe工作流建模及Shark工作流引擎的实例说明(三)
- Ajax简要说明及实例
- 关于使用Spring和hibernate开发web程序的配置说明和简单实例的详细说明
- CSS关于相对定位和绝对定位的说明实例