欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

CSS Hack技術(shù)介紹及常用的Hack技巧集錦

  發(fā)布時(shí)間:2014-10-08 09:29:54   作者:佚名   我要評論
這篇文章主要介紹了CSS Hack技術(shù)介紹及常用的Hack技巧集錦,本文講解了什么是CSS Hack、常用的CSS Hack、IE6對!important的支持、IE6下的多選擇符等內(nèi)容,需要的朋友可以參考下

一、什么是CSS Hack?

不同的瀏覽器對CSS的解析結(jié)果是不同的,因此會(huì)導(dǎo)致相同的CSS輸出的頁面效果不同,這就需要CSS Hack來解決瀏覽器局部的兼容性問題。而這個(gè)針對不同的瀏覽器寫不同的CSS 代碼的過程,就叫CSS Hack。

CSS Hack常見的有三種形式:CSS屬性Hack、CSS選擇符Hack以及IE條件注釋Hack, Hack主要針對IE瀏覽器。

1、屬性級Hack:比如IE6能識別下劃線”_”和星號” * “,IE7能識別星號” * “,但不能識別下劃線”_”,而firefox兩個(gè)都不能認(rèn)識。

2、選擇符級Hack:比如IE6能識別*html .class{},IE7能識別*+html .class{}或者*:first-child+html .class{}。

3、IE條件注釋Hack:IE條件注釋是微軟從IE5開始就提供的一種非標(biāo)準(zhǔn)邏輯語句。比如針對所有IE:<!–[if IE]><!–您的代碼–><![endif]–>,針對IE6及以下版本:<!–[if lt IE 7]><!–您的代碼–><![endif]–>,這類Hack不僅對CSS生效,對寫在判斷語句里面的所有代碼都 會(huì)生效。

PS:條件注釋只有在IE瀏覽器下才能執(zhí)行,這個(gè)代碼在非IE瀏覽下被當(dāng)做注釋視而不見??梢酝ㄟ^IE條件注釋載入不同的CSS、JS、HTML和服務(wù)器代碼等。

二、常用的CSS Hack


復(fù)制代碼
代碼如下:

/* CSS屬性級Hack */
color:red; /* 所有瀏覽器可識別*/
_color:red; /* 僅IE6 識別 */
*color:red; /* IE6、IE7 識別 */
+color:red; /* IE6、IE7 識別 */
*+color:red; /* IE6、IE7 識別 */
[color:red; /* IE6、IE7 識別 */
color:red\9; /* IE6、IE7、IE8、IE9 識別 */
color:red\0; /* IE8、IE9 識別*/
color:red\9\0; /* 僅IE9識別 */
color:red \0; /* 僅IE9識別 */
color:red!important; /* IE6 不識別!important*/
-------------------------------------------------------------
/* CSS選擇符級Hack */
*html #demo { color:red;} /* 僅IE6 識別 */
*+html #demo { color:red;} /* 僅IE7 識別 */
body:nth-of-type(1) #demo { color:red;} /* IE9+、FF3.5+、Chrome、Safari、Opera 可以識別 */
head:first-child+body #demo { color:red; } /* IE7+、FF、Chrome、Safari、Opera 可以識別 */
:root #demo { color:red\9; } : /* 僅IE9識別 */
--------------------------------------------------------------
/* IE條件注釋Hack */
<!--[if IE]>此處內(nèi)容只有IE可見<![endif]-->
<!--[if IE 6]>此處內(nèi)容只有IE6.0可見<![endif]-->
<!--[if IE 7]>此處內(nèi)容只有IE7.0可見<![endif]-->
<!--[if !IE 7]>此處內(nèi)容只有IE7不能識別,其他版本都能識別,當(dāng)然要在IE5以上。<![endif]-->
<!--[if gt IE 6]> IE6以上版本可識別,IE6無法識別 <![endif]-->
<!--[if gte IE 7]> IE7以及IE7以上版本可識別 <![endif]-->
<!--[if lt IE 7]> 低于IE7的版本才能識別,IE7無法識別。 <![endif]-->
<!--[if lte IE 7]> IE7以及IE7以下版本可識別<![endif]-->
<!--[if !IE]>此處內(nèi)容只有非IE可見<![endif]-->

三、IE6對!important的支持

!important一般用來做區(qū)分IE6和Firefox等瀏覽器的基本Hack手法。因?yàn)镮E6不支持!important,而Firefox能讀懂!important,其改變了樣式的優(yōu)先級。其實(shí)IE6在某些情況下,也能認(rèn)識!important。

例如:

復(fù)制代碼
代碼如下:

<style type="text/css">
.demo{
color:red !important;
color:green;
}
</style>
<div class="demo">www.dbjr.com.cn</div>

上面代碼在FF下字體為紅色、IE6下字體為綠色。說明IE6忽視!important的存在。

再來看看:


復(fù)制代碼
代碼如下:

<style type="text/css">
.demo{ color:red !important; }
.demo { color:green; }
</style>
<div class="demo">www.dbjr.com.cn</div>

如果IE6不認(rèn)!important的話,上面代碼.demo的內(nèi)容應(yīng)該顯示為綠色,可偏偏不是,.demo的內(nèi)容顯示為紅色,說明IE6是認(rèn)得!important的。

兩種情況的區(qū)別就在于:當(dāng)在一個(gè)選擇器中,利用!important改變樣式優(yōu)先級的時(shí)候,IE6下是無效的,后面的樣式覆蓋了前面的,!important被徹底無視了,利用!import

四、IE6下的多選擇符

多類選擇符的寫法。例如:

復(fù)制代碼
代碼如下:

#my.c1.c2 { color:red;}
.c1.c2 { color:red;}

以上寫法在IE7+/FF/Opera/Safari 等瀏覽器都支持。

但在IE6中,后一個(gè)類名會(huì)覆蓋前一個(gè)類名,也就是說,上例被IE6理解為:

復(fù)制代碼
代碼如下:

#my.c2 { color:red;}
.c2 { color:red;}

同理:

復(fù)制代碼
代碼如下:

#my.c1.c2.c3 { color:red;}

IE6理解為 #my.c3 {color:red;}

復(fù)制代碼
代碼如下:

.c1.c2.c3 { color:red;}

IE6理解為 .c3 { color:red; }

所以開發(fā)中用多類來組合實(shí)現(xiàn)css效果的時(shí)候,注意IE6的這個(gè)問題。最好的方法就是,不要用類組合的形式。

相關(guān)文章

  • 10個(gè)必備的CSS技巧總結(jié)

    這篇文章主要介紹了10個(gè)必備的CSS技巧總結(jié),隨看隨記,敬請收藏~需要的朋友可以參考下
    2015-06-29
  • 要知道的10個(gè)CSS技巧

    CSS是網(wǎng)頁設(shè)計(jì)師的基礎(chǔ),對CSS的了解能使他們能夠設(shè)計(jì)出更加美觀別致的網(wǎng)頁。使用CSS技巧來巧妙地處理CSS是非常令設(shè)計(jì)師著迷的事情。在CSS的深海世界里有很多有意思的東西
    2013-04-09
  • 最常用和實(shí)用的CSS技巧

    最常用和實(shí)用的CSS技巧,不論是前臺(tái)美工還是后臺(tái)成員人員都需要注意的地方。
    2010-01-05
  • 21個(gè)神奇的CSS技巧

    層疊樣式表(CSS)是現(xiàn)代的網(wǎng)站設(shè)計(jì)不可或缺的重要組成部分,就像10年前那樣,沒有它網(wǎng)站就會(huì)顯得是丑陋的。隨著時(shí)間的推移,網(wǎng)絡(luò)中的CSS的教程質(zhì)量已有顯著的提高。
    2009-10-27
  • 網(wǎng)頁制作中應(yīng)用的50個(gè)CSS技巧(國外)

    幾乎可以肯定的CSS是最好的一個(gè)網(wǎng)頁設(shè)計(jì)的發(fā)展,因?yàn)榈谝淮螆D形的Web瀏覽器通過了關(guān)于大規(guī)模,凡表創(chuàng)建笨重,緩慢加載網(wǎng)頁,創(chuàng)建的CSS更加精簡和實(shí)用的網(wǎng)頁。
    2009-08-03
  • CSS技巧:IE6用import導(dǎo)入CSS的問題

    網(wǎng)頁制作Webjx文章簡介:本文描述了一個(gè)在IE6下用import導(dǎo)入CSS的問題! 在ie 6中可以先寫CSS再加import比如 p {} @import url("base.css");
    2009-04-02
  • 書寫CSS的5個(gè)小技巧讓你的樣式更規(guī)范

    CSS在書寫過程中會(huì)一些小技巧,會(huì)省時(shí)省力,比如按字母順序來排列css、先標(biāo)記 后css等等,本文整理了一些,感興趣的朋友可以參考下希望對大家書寫css有所幫助
    2013-08-13
  • CSS hack技巧之IE6,IE7,firefox顯示不同效果

    區(qū)別不同瀏覽器的CSS hack寫法
    2010-03-06
  • IE6、IE7和FF的最簡單的hack技巧-CSS教程-網(wǎng)頁制作-網(wǎng)頁教學(xué)網(wǎng)

      關(guān)于CSS HACK的文章在webjx.com中提及的也很多。   CSSer必須掌握的關(guān)于IE6、IE7和FF的最簡單的hack技巧。 FF瀏覽器 .test{ height:20px; background-co
    2008-10-17
  • CSS常用技巧之CSS書寫技巧和CSS HACK技巧

    不同的瀏覽器對CSS的解析結(jié)果是不同的,因此會(huì)導(dǎo)致相同的CSS輸出的頁面效果不同,這就需要CSS Hack來解決瀏覽器局部的兼容性問題,本文給大家分享CSS常用技巧之CSS書寫技巧
    2016-01-12

最新評論