要处理这个问题,必须先补充一个知识点,就是设备的 物理像素[设备像素] &逻辑像素[CSS像素];
1.物理像素:
移动设备出厂时,不同设备自带的不同像素,也称硬件像素;
2.逻辑像素:
即css中记录的像素。
在开发中,为什么移动端CSS里面写了1px,实际上看起来比1px粗;了解设备物理像素和逻辑像素的同学应该很容易理解,其实这两个px的含义其实是不一样的,UI设计师要求的1px是指设备的物理像素1px,而CSS里记录的像素是逻辑像素,它们之间存在一个比例关系,通常可以用 javascript 中的 window.devicePixelRatio 来获取,也可以用媒体查询的 -webkit-min-device-pixel-ratio 来获取。当然,比例多少与设备相关。
在手机上border无法达到我们想要的效果。这是因为 devicePixelRatio 特性导致,iPhone的 devicePixelRatio==2,而 border-width: 1px描述的是设备独立像素,所以,border被放大到物理像素2px显示,在iPhone上就显得较粗。
● 用::after和::befor,设置border-bottom:1px solid #000,然后在缩放-webkit-transform: scaleY(0.5)可以实现两根边线的需求
● 用::after设置border:1px solid #000width:200%height:200%,然后再缩放scaleY(0.5)优点可以实现圆角,京东就是这么实现的,缺点是按钮添加active比较麻烦。
css移动端的兼容性问题 (适配问题)
一、浮动问题
简述:
我们在平时切页面时,经常会出现用完浮动(float),忘记删除.下面的布局出现莫名其妙的空白高度,导致布局调整失败
避免使用浮动
二、
链接: http://blog.csdn.net/chenmoquan/article/details/41547609
1、水平居中—使用 text-align
2、margin: auto 居中
3、table-cell 居中
4、Absolute 居中
5、使用 translate 居中
6、使用 Flexbox 居中
7、使用 calc 居中
三、常见的兼容性问题
四、css hack
五、css filter
六、更换渲染模式
七、浏览器内核
八、让H5页面适应所有的iphone手机以及安卓机型的六大技巧
九、REM 布局