移动端网页适配时,时常采用rem方法。
原理:以750px
宽的设计稿为基准,计算出对应的字号,设置html的fontSize
属性,css中,所有元素的尺寸都以rem为单位,这样可以适配大部分机型,js部分代码如下:
再将fontSize赋值给html。
但如果系统字号设置成放大,或者是所在的客户端字号放大,很可能导致页面混乱。
针对这种情况,优化的办法是,获取页面html的fontsize属性,对比我们设置的值,如果阈值过大,则重置html的fontsize属性。
几点注意的地方:
- 必须先清除样式的目的是获取页面基准值,一般不修改客户端字号的情况下,基准值是16px。
- 重置样式,必须排除em跟px单位(这点不是很理解,实践后不管用),可以设置百分比和pt,相比较百分比比较好设置。