最近测试给了我一大堆BUG,一瞅发现全是IE11的。吐槽一下这个浏览器真的比较特立独行。不少默认的样式跟别的浏览器不一样,并且最明显的一点应该是padding左右内边距每每比别的浏览器大了一倍。可是当须要修改的时候又头疼了。若是改变原有的padding值,那么在IE11生效了。别的浏览器又有问题了。因而在网上搜了一下有没有专门针对IE11的CSShack,就是只对IE11生效的CSS样式,一查还真有。就是在CSS样式文件中加一个@media screen and(-ms-high-contrast:active),(-ms-high-contrast:none){里面是你的样式}。web
好比,我在chrome浏览器中给一个div设置样式chrome
div{浏览器
padding:0 12px;测试
}spa
那么,在IE11中想要实现上面效果,须要在这个下面再添加一行样式 input
div{it
padding:0 12px;ast
}兼容性
@media screen and(-ms-high-contrast:active),(-ms-high-contrast:none) {表单
div{padding:0 6px;}
}
这里须要注意一下IE11的样式要写在最后面防止被覆盖,当浏览器为IE11时,@media中的样式会被执行一遍。
还有一个就是IE11针对h5的表单验证部分,验证失败后input标签会出现一个红色的框,比较丑。这个时候你只要针对专门的input标签,增长一个input{outline:none};就能够将红色的边框去掉了。
2016/01/15更新
今天大拿直接一行代码把我以前的IE11兼容性问题全解决了。不服不行。小伙伴们下次遇到兼容性问题记得先加上这行代码试试,不行再按照上面的方法来吧TAT,贴出代码
* {
box-sizing: content-box;
-moz-box-sizing: inherit;
-webkit-box-sizing: inherit;
}