各種瀏覽器的Hack寫法

2022-12-26 15:06:05 字數 3275 閱讀 3078

hack是針對不同的瀏覽器去寫不同的css樣式,從而讓各瀏覽器能達到一致的渲染效果,那麼針對不同的瀏覽器寫不同的css code的過程,就叫css hack,同時也叫寫css hack。然後將hack放在瀏覽器特定的css檔案中,讓其符合條件的瀏覽器解析這些**,我們將css hack**放入條件樣式檔案中,符合條件的瀏覽器就解析,不符合的將不解析,從而達到您所需要的頁面渲染效果。

總的一句話來說使用css hack將會使用你的css**部分失去作用,然後借助條件樣式,使用其原css**在一些瀏覽器解析,而css hack**在符合條件要求的瀏覽器中替代原css那部分**。常見的就是在ie6下使用,下面我們就一起來看看所有瀏覽器都具有什麼hack,換句話說,各種瀏覽器都能識別哪些css的寫法。

下面是我從網上收集的有關於各瀏覽器下hack的寫法

1、firefox

@-moz-document url-prefix() }

上面是僅僅被firefox瀏覽器識別的寫法,具體如:

@-moz-document url-prefix() }

支援firefox的還有幾種寫法:

/* 支援所有firefox版本 */

#selector[id=selector]

或者: @-moz-document url-prefix() }

/* 支援所有gecko核心的瀏覽器 (包括firefox) */ *>.selector

2、webkit枘核瀏覽器(chrome and safari)

@media screen and (-webkit-min-device-pixel-ratio:0) }

上面寫法主要是針對webkit核心的瀏覽器,如google chrome 和 safari瀏覽器:

@media screen and (-webkit-min-device-pixel-ratio:0) }

3、opera瀏覽器

html:first-child>body selector

或者: @media all and (min-width:0) }

或者: @media all and (-webkit-min-device-pixel-ratio:10000), not all and (-webkit-min-device-pixel-ratio:

0) }

上面則是opera瀏覽器的hack寫法:

@media all and (-webkit-min-device-pixel-ratio:10000), not all and (-webkit-min-device-pixel-ratio:0) }

4、ie9瀏覽器

:root selector

上面是ie9的寫法,具體應用如下:

:root .demo

5、ie9以及ie9以下版本

selector

這種寫法只有ie9以及ie9以下版本能識別,這裡需要注意此處「9」只能是「9」不能是別的,比如說「8」,不然會失去效果的,如:

.demo

6、ie8瀏覽器

selector 或者: @media screen }

上面寫法只有ie能識別,如:

.color 或者: @media screen }

7、ie8以及ie8以上的版本

selector

這種寫法只有ie8以及ie8以上版本支援,如

.demo

8、ie7瀏覽器

*+html selector 或 *:first-child+html selector

上面兩種是ie7瀏覽器下才能識別,如:

*+html .demo 或者: *:first-child+html .demo

9、ie7及ie7以下版本瀏覽器

selector

上面的寫法在ie7以及其以下版本都可以識別,如:

.demo

10、ie6瀏覽器

selector 或者: selector 或者: *html selector

具體應用如下:

.demo 或者: .demo 或者: *html .demo

上面具體介紹了各種版本瀏覽器下如何識別各種的hack寫法,包括了ie6-9以及現代版本的瀏覽器寫法。綜合上面的所述,我們針對不同瀏覽器的hack寫法主要分為兩種從css選擇器和css屬性上來區別不同的hack寫法。下面我們分別來看這兩種的不同寫法:

css選擇器的hack寫法

下面我們主要來看css選擇器和css屬性選擇器在不同瀏覽器的支援情況。下面先來看css選擇器支援情況。

css選擇器的hack寫法

1、ie6以及ie6以下版本瀏覽器

* html .demo

2、僅僅ie7瀏覽器

*:first-child+html .demo

3、除ie6之外的所有瀏覽器(ie7-9, firefox,safari,opera)

html>body .demo

4、ie8-9,firefox,safari,opear

html>/**/body .demo

5、ie9+

:root .demo

6、firefox瀏覽器

@-moz-document url-prefix() }

6、webkit核心瀏覽器(safari和google chrome)

@media screen and (-webkit-min-device-pixel-ratio:0) }

7、opera瀏覽器

@media all and (-webkit-min-device-pixel-ratio:10000), not all and (-webkit-min-device-pixel-ratio:0) }

8、iphone / mobile webkit

@media screen and (max-device-width: 480px) }

css屬性hack寫法

1、ie6瀏覽器

.demo

2、ie6-7瀏覽器識別

.demo

3、所有瀏覽器除ie6瀏覽外

.demo

4、ie6-9瀏覽器

.demo

5、ie7-8瀏覽器

.demo

上面羅列的都是各種瀏覽器下的有關於css的hack的寫法,基中有針對於現代瀏覽器safari,google chrome和firefox的寫法,而且也有針對於我們前端人員最討厭的ie6-9的各版本瀏覽器的hack的寫法,而且這些hack我們又分為css選擇器的hack寫法和css屬性的hack寫法。然而具體何種適用,大家可以要據自己的需求來定。

區別各種IE瀏覽器和火狐的css寫法

2011 08 29 00 33 1.區別ie和非ie瀏覽器 如下 tip 2.區別ie6,ie7,ie8,ff 區別符號 9 示例 如下 tip 說明 因為ie系列瀏覽器可讀 9 而ie6和ie7可讀 公尺字型大小 另外ie6可辨識 底線 因此可以依照順序寫下來,就會讓瀏覽器正確的讀取到自己看得懂...

怎樣加密瀏覽器,設定瀏覽器密碼

怎樣加密瀏覽器,設定瀏覽器密碼!有的時候我們需要給瀏覽器做乙個限制,只有通過密碼才能使用瀏覽器。雖然有點麻煩,但是有的時候還是非常管用的。比如外出把小孩留在家裡,讓他學習電腦軟體又不能上網,這個時候就可以設定瀏覽器密碼了。方法很簡單。1 首先,開啟桌面的internet explorer瀏覽器 然後...

瀏覽器研究

瀏覽器核心的解析和對比 要搞清楚瀏覽器核心是什麼,首先應該先搞清楚瀏覽器的構成。簡單來說瀏覽器可以分為兩部分,shell 核心。其中shell的種類相對比較多,核心則比較少。shell是指瀏覽器的外殼 例如選單,工具欄等。主要是提供給使用者介面操作,引數設定等等。它是呼叫核心來實現各種功能的。核心才...