前端开发中的移动适配

2018-04-06  本文已影响0人  涂明栋

首先我们要明确的是什么?

1、rem代表的是根节点html的font-size值,默认值是16px,但是你也可以自行设置html的font-size值,覆盖默认值,例如:html{font-size:10px;},或者html{font-size:62.5%;} /* 百分比相对于是默认值16px */;

2、从ie6开始各大浏览器厂商就已经约定好了,所以不用担心主流浏览器对rem的兼容性问题;但是仍然存在一些“非主流”的浏览器不兼容rem,这样我们需要在rem的前面写上对应的px值,从而实现优雅降级

div{

font-size:32px;

font-size:2rem

}

如何利用rem来快速解决不同移动端设备的一个适配问题?

阿里的lib-flexible库,直接引用CDN文件:<script src="http://g.tbcdn.cn/mtb/lib-flexible/0.3.4/??flexible_css.js,flexible.js"></script> , 它可以根据你的设备宽度来自动设置根节点的font-size (rem),这样你就不用利用js对设备的屏幕尺寸进行繁琐的计算以及判断,而可以直接给所有的元素使用rem单位;

但是对于第一次使用rem来做移动端适配的小伙伴还是一步步来,下面是我另外一种解决方案:

首先我们要明确不能使用px单位来做适配,以屏幕由大变小为例。

因为作为css的px像素(又称逻辑像素)单位,在不同的viewport (视口宽度)它所占据的物理尺寸是一样大的,这就决定了px单位在适配方面的局限性,这里我说下我的大致思路和具体实现:

1、通过js获取设备的屏幕宽度;

2、将视口分成10个rem,也就是让1rem=windowWidth / 10;(你也可以分成5个,看个人);

3、然后通过js给html标签动态设置内联样式(这样就完成了根字体的设置)

4、接下来项目里面所有单位都采用rem设置,无论是图片还是文字,抑或是div等各种标签的尺寸;

下面是我的代码

上一篇下一篇

猜你喜欢

热点阅读