低版IE常见兼容问题与css hack

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/Trifling_/article/details/77411456

 一、常见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、当前同级元素都加上浮动

猜你喜欢

转载自blog.csdn.net/Trifling_/article/details/77411456