最近测试给了我一大堆BUG,一瞅发现全是IE11的。吐槽一下这个浏览器真的比较特立独行。很多默认的样式跟别的浏览器不同,而且最明显的一点应该是padding左右内边距往往比别的浏览器大了一倍。但是当需要修改的时候又头疼了。如果改变原有的padding值,那么在IE11生效了。别的浏览器又有问题了。于是在网上搜了一下有没有专门针对IE11的CSShack,就是只对IE11生效的CSS样式,一查还真有。就是在CSS样式文件中加一个@media screen and(-ms-high-contrast:active),(-ms-high-contrast:none){里面是你的样式}。

  比如,我在chrome浏览器中给一个div设置样式

div{
  padding:0 12px;
}

  那么,在IE11中想要实现上面效果,需要在这个下面再添加一行样式  

div{
  padding:0 12px;
}

@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};就可以将红色的边框去掉了。

  今天大拿直接一行代码把我之前的IE11兼容性问题全解决了。不服不行。小伙伴们下次遇到兼容性问题记得先加上这行代码试试,不行再按照上面的方法来吧TAT,贴出代码

* {
    box-sizing: content-box;
    -moz-box-sizing: inherit;
    -webkit-box-sizing: inherit;
}
 
版权声明:本文为李维亮博主的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:http://www.liweiliang.com/896.html

标签: IE 兼容性

评论已关闭