您好,登錄后才能下訂單哦!
本篇內容介紹了“CSS中hack的使用方法”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
css hack 是個很有爭議的東西,一開始我也很討厭,因為我覺得可以饒過 css hack,通過另外的方法解決問題。但是,隨著工作中的不斷實踐,改變了我的觀點,css hack 雖然不能通過 w3c 標準認證,但適當是使用很有可能會使你的 HTML 結構更緊湊、有效的減少無語義標簽或帶來其他好處。
1.IE條件注釋法
該方法安全性好,但是不利于開發維護。比如涉及到針對不同版本IE的css。
<!--[if IE]><![endif]--> 只在IE下有效
<!--[if IE 6]><![endif]--> 只在IE6有效
<!--[if gt IE 6]><![endif]--> 只在IE6以上版本有效
注意:結合lte、lt、gte、gt、!關鍵字使用。
2.選擇符前綴法
“*html” 前綴只對IE6生效 "*+html"前綴只對IE7生效
CSS Code復制內容到剪貼板
.test{width:80px;} /*IE 6 7 8*/
*html .test{width:70px;} /*IE6*/
*+html .test{width:60px;}/*IE7*/
缺點:不能保證IE9,10不識別*html,*+html,有向后兼容風險。
3.樣式屬性前綴法:
如“_”只在IE6下生效,“*”在IE6和IE7下生效。同樣有向后兼容隱患。
.test{width:80px;*width:70px;_width:60px;}
可用于內聯樣式
CSS Code復制內容到剪貼板
:<div style="width:80px;*width:70px;_width:60px;"></div>
由于IE條件注釋法不利于開發維護,實際中常用的hack方法常常是后兩者。
小例子
html 代碼
XML/HTML Code復制內容到剪貼板
<body>
<p>您的瀏覽器是</p>
</body>
css hack 代碼
CSS Code復制內容到剪貼板
p { margin:0; padding:0 55px 0 0; height:30xp; line-height:30px; font-size:14px;}
p { background:url(llq.gif) 90px -170px no-repeat;} /* all */
p,x:-moz-any-link { background:url(llq.gif) 90px -80px no-repeat;} /* for ff */
p,x:-moz-any-link,x:default { background:url(llq.gif) 90px -140px no-repeat;} /* for ff2+ */
p {[;background:url(llq.gif) 90px -260px no-repeat;]} /* for sa/ch */
p { background:url(llq.gif) 90px -50px no-repeat\9;} /* for ie */
*+html p { background:url(llq.gif) 90px -20px no-repeat;} /* only for ie7 */
p { _background:url(llq.gif) 90px 10px no-repeat;} /* only for ie6 */
查看Demo
因為沒有找到 op10 的 css hack,所以標準的寫法是給 op10 的,然后針對其他瀏覽器寫 css hack。
另外,在修復過程中,我發現了網上流傳的一個 css hack 有問題,這個 css hack 也許有很多人在用,就是[屬性:值\0],有的人說這是 ie8 專用的,但我在測試過程中發現這個 css hack 除了 ie8 識別外,ff3 和 op10 也能識別(ff2 和 ff3.5 不能識別)。
“CSS中hack的使用方法”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。