CSS hack:爲解決瀏覽器兼容性問題,針對不一樣的瀏覽器寫不一樣的CSS 代碼的過程,就叫CSS Hack,hack主要針對IE瀏覽器html
三種形式:瀏覽器
屬性級hack:IE6識別_* ,IE7識別* ,FF兩個都不識別spa
選擇符級Hack:IE6識別*html ,IE7識別*+html或*:first-child+html htm
IE條件註釋Hack(百度上可直接查到):ast
針對全部IE:<!–[if IE]><!–您的代碼–><![endif]–>瀏覽器兼容性
針對IE6及如下版本:<!–[if lt IE 7]><!–您的代碼–><![endif]–> import
書寫順序:FF——IE7——IE6兼容性
經常使用的CSS hack百度
/*屬性級hack*/hack
color:red; /* 全部瀏覽器可識別*/
_color:red; /* 僅IE6 識別 */
*color:red; /* IE六、IE7 識別 */ 同理: +color *+color [color
color:red9; /* IE六、IE七、IE八、IE9 識別 */
/* 選擇符級Hack */
*html #demo { color:red;} /* 僅IE6 識別 */
*+html #demo { color:red;} /* 僅IE7 識別 */
body:nth-of-type(1) #demo { color:red;} /* IE9+、FF3.5+、Chrome、Safari、Opera 能夠識別 */
head:first-child+body #demo { color:red; } /* IE7+、FF、Chrome、Safari、Opera 能夠識別 */
:root #demo { color:red9; } /* 僅IE9識別 */
只對 IE6:*html 識別 _ * ,在同一選擇器中不識別!important
只對 IE7:*+html 識別 * !important,不識別 _
只對 IE67:@media screen\9{...}
只對 IE8:@media \0screen {...}
只對 IE678:@media \0screen\,screen\9{body {...}
只對 IE8910:@media screen\0 {...}
只對 IE910:@media screen and (min-width:0\0) {...}
只對 IE10:@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {...}
FF:識別!important,不識別 * _
_ IE6專有hack
\9 IE678910的hack
\0 IE8910的hack
\9\0 IE910的hack