html5兼容陷阱合集

1)border-image。一般情况下,我们为了向后兼容,这么写border-image

-webkit-border-image:xxxx;

-moz-border-image:xxx;

border-image:xxxx;

但如果将border-image放置最后的话,在pc终端上的chrome浏览器下(当前版本17.0)有问题。九宫格中间的那一格会消失掉,无法看到背景平铺等。所以可以将不带前辍的border-image放置到最前面,这样就不会出现问题了。

2)在ios下,按钮的高度无法单独设置,必须和宽度一起设置才能生效。

3)在ios下label无效,无法通过id,或者label的嵌套,让label和input关联起来。老说ios对html5的支持比android,可是这些地方怎么老掉链子呢?

4)为了将label和input关联起来,在ios下需要通过js来实现效果了,但其实并不需要真的写出关联代码,只需要给label写一个空的click监听就行,哪怕监听里一行代码也不写,只要有监听就行。

5) 在ios下,window和body都不能正常监听click事件,当页面有类似input之类的元素时,点击它们才会触发onclick的事件,点击到一块“空白”区域的时候,不能正常响应click事件。而监听touchstart事件,可以正常响应。推荐在ios下用touchstart替代click事件监听。

原文地址:https://www.cnblogs.com/cly84920/p/4426540.html