首页 > 代码库 > css hack IE兼容调试小结(Webstorm、VS2010),有图有真相,研究了一中午

css hack IE兼容调试小结(Webstorm、VS2010),有图有真相,研究了一中午

练习了些CSS代码,发现IE各种不兼容,打算用css hack调试IE 6 7 8。网上搜了些方法,虽然可行,但webstorm和VS2010各种提示报错让人不爽,试了几个小时,最终结论如下:

1、只有IE6 7认那些乱七八槽的符号,可随便用一个(% ^ &之类都行),但大家习惯用*或+,如*.background,这样只有IE6 7才认。但是webstorm会把语法检查把上下行一起标错,看起来不爽,VS干脆就报错不让ctrl E D格式化。

2、!important虽然可用,但要注意顺序,且这个语法用在自身功能上最好,尽量不要用在css hack上。

3、_加属性(如_background)只有IE6认,且webstorm、VS不报错(webstorm要在 Inspections -> CSS -> W3C CSS Validator 里面,勾选 Ignore vendor specific properties)

4、IE 7可用*+html,后加选择器,如*+html div{},这样webstorm和VS都不报错,如果用*html的话,webstorm会提示错,不爽。

5、属性值末尾\9为仅兼容IE,这个可正常用。虽然webstorm报错提示,但不影响用,也不会影响上下行,仅本行提示,如果用*的话,会把上下行都提示错误,烦。

6、网上说\0可用作IE 8 9,但下图可知有的opera也生效,所以尽量\0\9,反正都写了,不在乎多写个\9,可正常用。

 

 

body {             background: red; /*all*/             background: orange\9; /*IE all*/             background: yellow\0\9; /* IE 8 9 */             _background: blue; /* IE 6*/         }* + html body {    background: violet;}/* IE 7*/