星號(hào)" * " :ie6 ie7支持 hirefox不支持
下劃線"_":ie6支持 ie7 firefox不支持
!important; : firefox ie7支持 ,ie6部分支持
IE6支持重定義中的!important,例如: .yuanxin {color:#e00!important;} .yuanxin {color:#000;} 你將會(huì)發(fā)現(xiàn)定義了樣式class="yuanxin"時(shí),在IE下,字體顯示為紅色(#e00)。 但不支持同一定義中的!important。例如: .yuanxin {color:#e00!important;color:#000} 此時(shí)在IE6下不支持,你將會(huì)發(fā)現(xiàn)定義了樣式class="yuanxin"時(shí),字體顯示為黑色(#000)。
HTML頭部引用(if IE)Hack:針對(duì)所有IE:<!--[if IE]><!--您的代碼--><![endif]-->,針對(duì)IE6及以下版本:<!--[if lt IE 7]><!--您的代碼--><![endif]-->,這類Hack不僅對(duì)CSS生效,對(duì)寫在判斷語句里面的所有代碼都 會(huì)生效。
選擇器Hack:比如 IE6能識(shí)別*html .class{},IE7能識(shí)別*+html .class{}或者*:first-child+html .class{}。等等
瀏覽器優(yōu)先級(jí)別:FF<IE7<IE6,CSS hack書寫順序一般為FF IE7 IE6
以: " #demo {width:100px;} "為例;
#demo {width:100px;} /*被FIREFOX,IE6,IE7執(zhí)行.*/
* html #demo {width:120px;} /*會(huì)被IE6執(zhí)行,之前的定義會(huì)被后來的覆蓋,所以#demo的寬度在IE6就為120px; */
*+html #demo {width:130px;} /*會(huì)被IE7執(zhí)行*/ ---------------
所以最后,#demo的寬度在三個(gè)瀏覽器的解釋為:
FIREFOX:100px;
ie6:120px;
ie7:130px;
IE8 最新css hack:
"\9" 例:"border:1px \9;".這里的"\9"可以區(qū)別所有IE和FireFox.
"\0" IE8識(shí)別,IE6、IE7不能.
IE6 hack
_background-color:#CDCDCD; /* ie 6*/
IE7 hack
*background-color:#dddd00; /* ie 7*/
IE8 hack
background-color:red\0; /* ie 8/9*/
IE9 hack
background-color:blue\9\0;