天天看點

css浏覽器相容(CSS Hack)一覽表分享

由于浏覽器之間存在相容性問題,在制作 網頁的時候,為了使頁面能在不同浏覽器中顯示相對一緻或者其他原因,網頁制作人員總結了種種 Hack 方法;在解決相容性問題之前,這些方法還經常會用到。接下來,本文将向給大家介紹常用的 CSS Hack彙總,以便大家平時的速查。

屏蔽IE浏覽器(也就是IE下不顯示)

*:lang(zh) select {font:12px  !important;}  select:empty {font:12px  !important;}  這裡select是選擇符,根據情況更換。第二句是MAC上safari浏覽器獨有的。

僅IE7與IE5.0可以識别

*+html  select {…} 當面臨需要隻針對IE7與IE5.0做樣式的時候就可以采用這個HACK。

僅IE7可以識别

*+html  select {…!important;} 當面臨需要隻針對IE7做樣式的時候就可以采用這個HACK。

IE6及IE6以下識别

* html  select {…} 這個地方要特别注意很多部落格都寫成了是IE6的HACK其實IE5.x同樣可以識别這個HACK。其它浏覽器不識别。html >body  select {…} 這句與上一句的作用相同。

僅IE6不識别,屏蔽IE6

select { display :none;} 這裡主要是通過CSS注釋分開一個屬性與值,注釋在冒号前。

僅IE6與IE5不識别,屏蔽IE6與IE5

select { display :none;} 這裡與上面一句不同的是在選擇符與花括号之間多了一個CSS注釋。不屏蔽IE5.5

僅IE5不識别,屏蔽IE5

select {…} 這一句是在上一句中去掉了屬性區的注釋。隻有IE5不識别,IE5.5可以識别。

盒模型解決方法

selct {width:IE5.x寬度; voice-family :""}""; voice-family:inherit; width:正确寬度;} 盒模型的清除方法不是通過!important來處理的。這點要明确。

清除浮動

select:after {content:"."; display:block; height:0; clear:both; visibility:hidden;} 在Firefox中,當子級都為浮動時,那麼父級的高度就無法完全的包住整個子級,那麼這時用這個清除浮動的HACK來對父級做一次定義,那麼就可以解決這個問題。

截字省略号

select { -o-text-overflow:ellipsis; text-overflow:ellipsis; white-space:nowrap; overflow:hidden; } 這個是在越出長度後會自行的截掉多出部分的文字,并以省略号結尾,很好的一個技術。隻是目前Firefox并不支援。

隻有Opera識别

@media all and (min-width: 0px){ select {……} } 針對Opera浏覽器做單獨的設定。

以上都是寫CSS中的一些HACK,這些都是用來解決局部的相容性問題,如果希望把相容性的内容也分離出來,不妨試一下下面的幾種過濾器。這些過濾器有的是寫在CSS中通過過濾器導入特别的樣式,也有的是寫在HTML中的通過條件來連結或是導入需要的更新檔樣式。

IE5.x的過濾器,隻有IE5.x可見

@media tty {i{content:"";}} @import 'ie5win.css';

IE5/MAC的過濾器,一般用不着

IE的if條件Hack

<!--[if IE]> Only IE <![endif]--> 所有的IE可識别<!--[if IE 5.0]> Only IE 5.0 <![endif]-->隻有IE5.0可以識别<!--[if gt IE 5.0]> Only IE 5.0+ <![endif]-->IE5.0包換IE5.5都可以識别<!--[if lt IE 6]> Only IE 6- <![endif]-->僅IE6可識别<!--[if gte IE 6]> Only IE 6/+ <![endif]-->IE6以及IE6以下的IE5.x都可識别<!--[if lte IE 7]> Only IE 7/- <![endif]--> 僅IE7可識别

以上内容可能并不全面,歡迎大家能和我一起把這些技巧都彙總起來,為以後工作的查詢提供一個友善,同時在這裡感謝那些研究出這些HACK的作者們。

本文位址: http://www.mianfeimoban.com/jianzhang_cyruanjian/cssjc/20120319/10870.html 歡迎轉載!