新聞中心
本文向大家描述一下如何使用CSS Hack技巧解決DIV+CSS布局多瀏覽器兼容問題,針對不同的瀏覽器寫不同的CSS代碼的過程,就叫CSS Hack,相信本文介紹一定會讓你有所收獲。

成都創(chuàng)新互聯(lián)基于成都重慶香港及美國等地區(qū)分布式IDC機房數(shù)據(jù)中心構建的電信大帶寬,聯(lián)通大帶寬,移動大帶寬,多線BGP大帶寬租用,是為眾多客戶提供專業(yè)綿陽服務器托管報價,主機托管價格性價比高,為金融證券行業(yè)服務器托管,ai人工智能服務器托管提供bgp線路100M獨享,G口帶寬及機柜租用的專業(yè)成都idc公司。
CSS Hack技巧匯總
CSS Hack簡介
我們在用DIV+CSS制作網頁時,由于不同的瀏覽器,比如InternetExplorer6,InternetExplorer7,MozillaFirefox等對CSS的支持及解析結果不一樣,導致生成的頁面效果不一樣,得不到我們所需要的頁面效果。這時候我們就需要針對不同的瀏覽器去寫不同的CSS,讓它能夠同時兼容不同的瀏覽器,能在不同的瀏覽器中也能得到我們想要的頁面效果。這個針對不同的瀏覽器寫不同的CSS代碼的過程,就叫CSS Hack。
為了向你展示這些CSS Hack是否正常運作,我新建六個P標簽,并給每一個P標簽一個特有的id。這將向你展示CSS Hack的運作情況。
我來自Opera7.2-9.5 我是神奇的Safari 我來自Firefox 我是FF前輩Firefox1-2 我是IE7 我是殘品IE6
然后我讓這些P標簽默認都不顯示
- bodyp{display:none;}
使用IE CSS條件注釋區(qū)分IE瀏覽器
最簡單的區(qū)分IE瀏覽器的方法自然是使用他們的條件注釋。微軟創(chuàng)建了一個強大的語法來讓我們去實現(xiàn)這個功能。我不想再詳細地介紹IE條件注釋了,我想你在搜索引擎能搜索到上萬個搜索條目,我這里只要這兩個:
#p#使用CSS解析器Hacks區(qū)分IE
雖說IE條件注釋十分簡單好用,但是如果你想把全部的CSS放到一個文件里的話,那么你不得不使用別的方法。注意這里的IE7Hack將只對IE7有效,因為IE6根本不知道>選擇符。同時你也得注意>選擇符對于其他瀏覽器同樣是無效的。
- /*IE7*/
- html>body#ie7
- {*display:block;}
- /*IE6*/
- body#ie6
- {_display:block;}
CSS Hack區(qū)分Firefox
***個使用了body:empty來區(qū)分Firefox1和2。第二個hack使用了全部Firefox瀏覽器的專有擴展-moz。-moz只對Firefox有效,使用這個Hack大可不必擔心其他瀏覽器的影響。
- /*Firefox1-2*/
- body:empty#firefox12
- {display:block;}
- /*Firefox*/
- @-moz-documenturl-prefix()
- {#firefox{display:block;}}
CSS Hack區(qū)分Safari
Safari的CSS Hack與Firefox的hack看起來很像,使用的是Safari瀏覽器的專有擴展-webkit且只對Safari瀏覽器有效。
- /*Safari*/
- @mediascreenand(-webkit-min-device-pixel-ratio:0)
- {#safari{display:block;}}
#p#CSS Hack區(qū)分Opera
- /*Opera*/
- @mediaalland(-webkit-min-device-pixel-ratio:10000),
- notalland(-webkit-min-device-pixel-ratio:0)
- {head~body#opera{display:block;}}
然后,全部合在一起便是完整代碼:
- "http://www.w3.org/TR/html4/strict.dtd">
CSSBrowserHacks - bodyp
- {
- display:none;
- }
- /*Opera*/
- html:first-child#opera
- {
- display:block;
- }
- /*IE7*/
- html>body#ie7
- {
- *display:block;
- }
- /*IE6*/
- body#ie6
- {
- _display:block;
- }
- /*Firefox1-2*/
- body:empty#firefox12
- {
- display:block;
- }
- /*Firefox*/
- @-moz-documenturl-prefix()
- {
- #firefox{display:block;}
- }
- /*Safari*/
- @mediascreenand(-webkit-min-device-pixel-ratio:0)
- {
- #safari{display:block;}
- }
- /*Opera*/
- @mediaalland(-webkit-min-device-pixel-ratio:10000),
- notalland(-webkit-min-device-pixel-ratio:0)
- {
- head~body#opera{display:block;}
- }
我來自Opera7.2-9.5 我是神奇的Safari 我來自Firefox 我是FF前輩Firefox1-2 我是囧IE7 我是殘品IE6


咨詢
建站咨詢