#浏览器差异
由于市场上浏览器种类众多,而不同浏览器其内核亦不尽相同,所以各个浏览器对网页的解析就有一定出入,这也是导致浏览器兼容问题出现的主要原因,我们的网页需要在主流浏览器上正常运行,就需要做好浏览器兼容。
- 使用Trident内核的浏览器:IE、Maxthon、TT;
- 使用Gecko内核的浏览器:Netcape6及以上版本、FireFox;
- 使用Presto内核的浏览器:Opera7及以上版本;
- 使用Webkit内核的浏览器:Safari、Chrome。
这里我会将平时开发的时候遇到一些兼容性问题,和属性差异记录下来,往往这些基础的东西,最容易让人忽视,所以这里我要遇到一个,填一个。
Button问题
在IE中button
默认type
就是button
,一个单纯的按钮,没有任何功能,但是在其他浏览器中,button
默认自带type="submit"
光环,所以有必要小心使用,最好养成给button
添加type
的习惯,不然一直提交,都不知道为什么触发不了事件,或者不听话的直接提交了。
Select问题
select
标签中通过设置option
的selected="selected"
居然无效,这也是部分浏览器会有问题,解决办法需要添加autocomplete="off"
<select autocomplete="off">
<option>是</option>
<option selected="selected">否</option>
</select>
ios滚动问题
页面内容过长超出一个屏的时候,页面自然需要向下滚动来展示,但是滚动也有原生的滚动(回弹效果),和普通滚动,触摸到哪,就停在那。所以安卓没有问题,ios就会有卡顿问题,解决方法就是下面这个神器(坑多)
MDN定义的-webkit-overflow-scrolling
-webkit-overflow-scrolling
属性控制元素在移动设备上是否使用滚动回弹效果.
auto:
使用普通滚动, 当手指从触摸屏上移开,滚动会立即停止。
touch:
使用具有回弹效果的滚动, 当手指从触摸屏上移开,内容会继续保持一段时间的滚动效果。继续滚动的速度和持续的时间和滚动手势的强烈程度成正比。同时也会创建一个新的堆栈上下文。
持续填坑…
↓ ↓ ↓
↓ ↓
↓
如果你也有遇到的这些细小的兼容问题,请在评论区添加一下,我会把你的坑进来(会备注上你的ID),人多力量大,遇到的坑千奇百怪,你也可以转载过去,评论区留下你的地址即可。