css hack难题

2021-01-20 13:28 jianzhan
ie5 hack, ie 6 hack, ie 8 hack,ie 9 我没用,临时也没触碰过9的hack,伴随着访问器的升级(并且换代愈来愈快),是否我有写不完的hack,還是说大神从不写hack。

IE7能鉴别*,也能鉴别!important;   

FF不可以鉴别*,但能鉴别!important;   

IE6 IE7 FF   * √ √ ×   !important × √ √   

访问器优先选择级別:FF<IE7<IE6,CSS hack撰写次序1般为FF IE7 IE6   

以: " #demo {width:100px;} "为例;   


拷贝编码
编码以下:
#demo {width:100px;} /*被FIREFOX,IE6,IE7实行.*/
 


拷贝编码
编码以下:
* html #demo {width:120px;} /*会被IE6实行,以前的界定会被后来的遮盖,因此#demo的宽度在IE6就为120px; */
 


拷贝编码
编码以下:
*+html #demo {width:130px;} /*会被IE7实行*/
 
  

因此最终,#demo的宽度在3个访问器的解释为:   

FIREFOX:100px;   

ie6:120px;   

ie7:130px;   

IE8 全新css hack:   "\9" 

例:"border:1px \9;".

这里的"\9"能够差别全部IE和FireFox.   

"\0" IE8鉴别,IE6、IE7不可以.   

"*" IE6、IE7能够鉴别.IE8、FireFox不可以.   

"_" IE6能够鉴别"_",IE7、IE8、FireFox不可以.

工作经验能够累积,但理想始终不可以磨灭