美文网首页
css IE8的兼容性问题

css IE8的兼容性问题

作者: 啊杜杜杜 | 来源:发表于2019-03-14 09:43 被阅读0次

    虽然微软宣布停止对IE11以下版本的的技术支持,但有时候也因项目的特殊性,需要兼容低版本的IE浏览器。最近项目需要做IE8的兼容性,之前没认真深入过,这次发现了好几个细节问题。

    分界点

      个人感觉IE浏览器的分界点是IE8,IE8以上的版本,兼容性相对来说都要好处理些。IE8及IE8以下的版本限制更多。这仅仅是个人观点。以下也仅列出个人遇到的一些问题,这只是众多兼容性问题中的一小部分。

    IE浏览器共有的兼容性问题。

    一、弹性盒子

      flex-direction的兼容性



      若需要考虑问题,可以使用浮动float来进行布局。若不需要考虑低版本浏览器的兼容,则选择弹性盒子是很完美的。

    IE8及以下浏览器的兼容性

    一、不支持section标签

      请用div替代

    二、不支持border-radius属性

      可引用PIE来替代。

    三、不支持content属性

      IE8需要在头部加上声明:<!DOCTYPE html>

    四、不支持last-child属性

      IE8很奇怪,支持first-child属性,却不支持last-child属性。可以通过相邻样式的方式,即":first-child+ 标签名"的方式实现第二个子元素,最后一个元素的处理。如:first-child + li

    五、不支持:nth-child属性

       常用的解决办法可以参考四。

    六、不支持:not属性

       比如除了第一个元素,后面所有元素的margin-left为10px,则可以通过给所有元素都加上:margin-left:10px; 然后它们的父元素margin-left:-10px; 避免使用:not来实现IE8的兼容问题。

    七、不支持::before 和::after属性

      解决方法,保留一个冒号IE8即可兼容,即:before 。此时需要注意,:before冒号前面有空格时,有时候chrome无法识别,去掉空格即可。li :before —> li:before

    八、图片若不设置宽度

      图片若不设置宽度,不会按照原始尺寸展示,建议给出宽度。

    相关文章

      网友评论

          本文标题:css IE8的兼容性问题

          本文链接:https://www.haomeiwen.com/subject/rqwfmqtx.html