這篇文章主要介紹了CSS hack的使用,CSS hack的目的就是使你的CSS代碼兼容不同的瀏覽器,需要的朋友可以參考下
css hack 是個(gè)很有爭(zhēng)議的東西,一開始我也很討厭,因?yàn)槲矣X得可以饒過 css hack,通過另外的方法解決問題,
簡(jiǎn)單介紹CSS hack的使用
。但是,隨著工作中的不斷實(shí)踐,改變了我的觀點(diǎn),css hack 雖然不能通過 w3c 標(biāo)準(zhǔn)認(rèn)證,但適當(dāng)是使用很有可能會(huì)使你的 HTML 結(jié)構(gòu)更緊湊、有效的減少無語義標(biāo)簽或帶來其他好處。1.IE條件注釋法
該方法安全性好,但是不利于開發(fā)維護(hù)。比如涉及到針對(duì)不同版本IE的css。
只在IE下有效
只在IE6有效
只在IE6以上版本有效
注意:結(jié)合lte、lt、gte、gt、!關(guān)鍵字使用。
2.選擇符前綴法
“*html” 前綴只對(duì)IE6生效 "*+html"前綴只對(duì)IE7生效
CSS Code復(fù)制內(nèi)容到剪貼板
.test{width:80px;}/*IE 6 7 8*/
*html .test{width:70px;}/*IE6*/
*+html .test{width:60px;}/*IE7*/
缺點(diǎn):不能保證IE9,10不識(shí)別*html,*+html,有向后兼容風(fēng)險(xiǎn)。
3.樣式屬性前綴法:
如“_”只在IE6下生效,“*”在IE6和IE7下生效。同樣有向后兼容隱患。
.test{width:80px;*width:70px;_width:60px;}
可用于內(nèi)聯(lián)樣式
CSS Code復(fù)制內(nèi)容到剪貼板
:"width:80px;*width:70px;_width:60px;">
由于IE條件注釋法不利于開發(fā)維護(hù),實(shí)際中常用的hack方法常常是后兩者,
電腦資料
《簡(jiǎn)單介紹CSS hack的使用》(http://www.oriental01.com)。小例子
html 代碼
XML/HTML Code復(fù)制內(nèi)容到剪貼板
您的瀏覽器是
css hack 代碼
CSS Code復(fù)制內(nèi)容到剪貼板
p {margin:0;padding:055px0 0;height:30xp;line-height:30px;font-size:14px;}
p {background:url(llq.gif)90px-170pxno-repeat;}/* all */
p,x:-moz-any-link {background:url(llq.gif)90px-80pxno-repeat;}/* for ff */
p,x:-moz-any-link,x:default{background:url(llq.gif)90px-140pxno-repeat;}/* for ff2+ */
p {[;background:url(llq.gif)90px-260pxno-repeat;]}/* for sa/ch */
p {background:url(llq.gif)90px-50pxno-repeat\9;}/* for ie */
*+html p {background:url(llq.gif)90px-20pxno-repeat;}/* only for ie7 */
p { _background:url(llq.gif)90px10pxno-repeat;}/* only for ie6 */
查看Demo
因?yàn)闆]有找到 op10 的 css hack,所以標(biāo)準(zhǔn)的寫法是給 op10 的,然后針對(duì)其他瀏覽器寫 css hack。
另外,在修復(fù)過程中,我發(fā)現(xiàn)了網(wǎng)上流傳的一個(gè) css hack 有問題,這個(gè) css hack 也許有很多人在用,就是[屬性:值\0],有的人說這是 ie8 專用的,但我在測(cè)試過程中發(fā)現(xiàn)這個(gè) css hack 除了 ie8 識(shí)別外,ff3 和 op10 也能識(shí)別(ff2 和 ff3.5 不能識(shí)別)。