本文主要是介绍低版IE常见兼容问题与css hack,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
一、常见IE低版兼容解决方式
1、通过html页面条件注释
2、css 选择器前缀法
3、css 属性前缀法(亲测)
\0 ie8+
\9 ie10-\9\0 ie9 10
+ ie6 7
* ie6 7
# ie6 7
_ ie6
4、曾在网上看到一行代码解决IE低版兼容问题,它是通过引用IE低版兼容js,原文链接 http://www.frontopen.com/2552.html,
通过实践貌似不行(也有可能是我没理解到位)
二、常见IE低版兼容问题
1、如果容器的width是偶数的时候50%是可以在一行的,如果不是那右边的就会换行。
2、font-size:0 避免两个50% 换行,但在ie中会使子元素的text-indent失效,
3、ie低版text-indent属性使之无效可设置font-size:0; line-height:0;
3、text-indent和display:inline-block会导致 一个偏移margin的bug,可把当前元素设置为block,网上的zoom:1触发layout无效
设置当前元素float也可,
4、ie两个50%不换行,常规浏览器中有时也不换行,单只要在编码的时候回车 都会导致换行,通过设置float也可避免换行
5、所有ie 默认p高度和常规浏览器高度不同
6、ie低 默认div block 当width:auto,padding不会增加容器width,当zoom:1或触发layout后则会增加
8、ie低 margin-bottom或margin, 如果当前元素为其父元素的最后一个元素则margin-bottom的则会加到当前元素中去
9、ie低 margin、padding 会造成各种问题特别是padding
10、jquery2.0不支持ie9
11、ie7低 不支持display inline-block,采用zoom触发 layout
12、zoom 表示缩放比例,css3 scale是基于这个实现的
13、触发layout, zoom、float、position absolute、设置宽高、 ie7 overflow、min-width
14、ie7 在遇到\9之后再遇到\9\0就会报错,这个样式将不在生效
15、通用与浏览器高版本的css放到最前面
16、ie低 float right会换行, 把float元素放当当前元素最前面,或绝对定位、margin、当前同级元素都加上浮动
这篇关于低版IE常见兼容问题与css hack的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!