亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

網頁css優(yōu)先級為您詳細解讀

  發(fā)布時間:2013-04-19 15:27:32   作者:佚名   我要評論
所謂CSS優(yōu)先級,即是指CSS樣式在瀏覽器中被解析的先后順序,CSS是層疊樣式表(Cascading Style Sheets)的簡稱,我們能通過CSS為文檔設置豐富且易于修改的外觀

在講CSS優(yōu)先級之前,我們得要了解什么是CSS,CSS是用來做什么的。

首先,我們對CSS作一個簡單的說明:CSS是層疊樣式表(Cascading Style Sheets)的簡稱。它的規(guī)范代表了互聯(lián)網歷史上一個獨特的發(fā)展階段?,F(xiàn)在對于從事網頁制作的朋友來說,應該很少沒有聽說過CSS了,因為在制作網頁過 程中我們經常需要用到。

其次:我們能通過CSS為文檔設置豐富且易于修改的外觀,以減輕網頁制作者的工作負擔,從而減輕制作及后期維護的代價。

其實現(xiàn)在還來講CSS是什么,CSS有什么作用完全是多余的,相信從事網頁制作的朋友都已經或多或少的接觸過了。

言歸正傳,我們開始進入今天的話題:

一、什么是CSS優(yōu)先級?

所謂CSS優(yōu)先級,即是指CSS樣式在瀏覽器中被解析的先后順序。

二、CSS優(yōu)先級規(guī)則

既然樣式有優(yōu)先級,那么就會有一個規(guī)則來約定這個優(yōu)先級,而這個“規(guī)則”就是本次所需要講的重點。

樣式表中的特殊性描述了不同規(guī)則的相對權重,它的基本規(guī)則是:

  1. 統(tǒng)計選擇符中的ID屬性個數(shù)。
  2. 統(tǒng)計選擇符中的CLASS屬性個數(shù)。
  3. 統(tǒng)計選擇符中的HTML標記名個數(shù)。

最后,按正確的順序寫出三個數(shù)字,不要加空格或逗號,得到一個三位數(shù)(css2.1是用4位數(shù)表示)。( 注意,你需要把數(shù)字轉換成一個以三個數(shù)字結尾的更大的數(shù))。相應于選擇符的最終數(shù)字列表可以很容易確定較高數(shù)字特性凌駕于較低數(shù)字的。

例如:

  1. 每個ID選擇符(#someid),加 0,1,0,0。
  2. 每個class選擇符(.someclass)、每個屬性選擇符(形如[attr=value]等)、每個偽類(形如:hover等)加0,0,1,0。
  3. 每個元素或偽元素(:firstchild)等,加0,0,0,1。
  4. 其它選擇符包括全局選擇符*,加0,0,0,0。相當于沒加,不過這也是一種specificity,后面會解釋。

三、特性分類的選擇符列表

以下是一個按特性分類的選擇符的列表:

選擇符 特性值
h1 {color:blue;} 1
p em {color:purple;} 2
.apple {color:red;} 10
p.bright {color:yellow;} 11
p.bright em.dark {color:brown;} 22
#id316 {color:yellow} 100

單從上面這個表來看,貌似不大好理解,下面再給出一張表:

選擇符 特性值
h1 {color:blue;} 1
p em {color:purple;} 1+1=2
.apple {color:red;} 10
p.bright {color:yellow;} 1+10=11
p.bright em.dark {color:brown;} 1+10+1+10=22
#id316 {color:yellow} 100

通過上面,就可以很簡單的看出,HTML標記的權重是1,CLASS的權重是10,ID的權重是100,繼承的權重為0(后面會講到)。

按這些規(guī)則將數(shù)字符串逐位相加,就得到最終的權重,然后在比較取舍時按照從左到右的順序逐位比較。

優(yōu)先級問題其實就是一個沖突解決的問題,當同一個元素(內容)被CSS選擇符選中時,就要按照優(yōu)先級取舍不同的CSS規(guī)則,這其中涉及到的問題其實很多。

說到這里,我們不得不說一下CSS的繼承性。

網頁中加載多個css樣式文件,其中一個是Ext庫自帶的樣式文件,里面對所有標簽定義了一些樣式,導致原有網頁顯示不正確。通過找到對應樣式,重新設置了正確的樣式。將新樣式加到body標簽上,但是出現(xiàn)兩個樣式,Ext樣式仍然有效。最后發(fā)現(xiàn)時在設置新樣式的時候沒有加*,導致只對body標簽有用,而對子標簽無效。下面為修改后的樣式

復制代碼
代碼如下:

.diy,
.diy *{
box-sizing: content-box;
-moz-box-sizing : content-box;
-webkit-box-sizing: content-box;
}

當一個標簽被定義多個樣式,而樣式之間出現(xiàn)沖突時,優(yōu)先級為“針對ID定義的樣式” > “類定義樣式” > “針對標簽類型定義的樣式”。例如下面幾個樣式

復制代碼
代碼如下:

div{
border:2px solid #0000FF;
}
.powerHeader{
border:2px solid #00ff00;
}
#navigation{
border:2px solid #ff0000;
}

在標簽<div id="navigation" class="powerHeader">,首先應用的是#navigation,當#navigation不存在時應用.powerHeader樣式,最后才是div樣式。
同時,單使用link或style定義多個標簽類class之間出現(xiàn)沖突時,會應用定義在最后的那個類。
了解css樣式優(yōu)先級,能夠在網頁開發(fā)中避免許多樣式沖突問題。

相關文章

  • CSS選擇器種類、優(yōu)先級與匹配原理詳解

    作為一個Web開發(fā)者,掌握必要的前臺技術也是很重要的特別是CSS選擇器的優(yōu)先級問題,為了廣大web愛好者可以更好的解決問題,這里就CSS選擇器的優(yōu)先級問題做了一些總結
    2013-08-01
  • CSS控制樣式的三種方式(優(yōu)先級對比驗證)

    大家都知道,CSS的中文名叫做層疊樣式表,而CSS在控制樣式的時候,有三種引入方式,這里簡單介紹下CSS控制樣式的三種方式
    2013-07-22
  • CSS優(yōu)先級的相關知識詳細介紹

    所謂CSS優(yōu)先級,即是指CSS樣式在瀏覽器中被解析的先后順序,既然樣式有優(yōu)先級,那么就會有一個規(guī)則來約定這個優(yōu)先級,而這個“規(guī)則”就是本次所需要講的重點
    2013-04-22
  • css樣式優(yōu)先級及層疊的順序排序探討

    css樣式優(yōu)先級是按照樣式表中出現(xiàn)順序還是按照元素中class或者id值的聲明順序呢,這個問題貌似一直存在我們身邊卻一直無從選擇,接下來用實例為大家說明下,到底哪個高點,
    2013-03-14
  • CSS層疊樣式表之CSS解析機制的優(yōu)先級及樣式覆蓋問題探討

    多重樣式(Multiple Styles): 如果外部樣式、內部樣式和內聯(lián)樣式同時應用于同一個元素,就是使多重樣式的情況.有個例外的情況,就是如果外部樣式放在內部樣式的后面,則
    2013-02-01
  • CSS優(yōu)先級和!important與IE6的BUG討論及解決方案

    本來我對他誰的ie6不支持!important也沒什么異議,可是正好在前幾天正好用個這個!important屬性解決了一個樣式優(yōu)先級的問題,而且是支持ie6的,這是為什么呢?到底ie6支不
    2013-01-23
  • IE6下CSS多類選擇符優(yōu)先級不起作用的bug分析及解決方法

    IE6,這個前端開發(fā)的夢魘總是在你不經意的時候給你捅一刀,在ie6環(huán)境下CSS多類選擇符優(yōu)先級不起作用,多么的令人氣憤啊,經過測試:IE6下這種類組合的優(yōu)先級不如單個類, 感
    2013-01-23
  • css樣式的優(yōu)先級究竟龐雜到什么程度

    css樣式的優(yōu)先級是一個龐雜的知識點,我甚至覺得它的龐雜可以與“浮動”以及“框模型”相提并論,今天就利用點時間把我所了解的寫下來,大家共同進步
    2013-01-11
  • css選擇器優(yōu)先級深入理解

    css基礎選擇器有標簽選擇器、類選擇器、id選擇器、通用選擇器,本文將深入介紹css選擇器優(yōu)先級,這會給正在解決優(yōu)先級問題的朋友,帶來些許幫助
    2012-12-04
  • 同級情況下CSS的優(yōu)先級探討

    CSS的調用方式一共有4種,分別是:行內樣式,內嵌式,link鏈接式,@import導入式,在同級的前提下,我們可以按樣就近原則來理解他們的優(yōu)先級,則越前定義的樣式,會被后面
    2010-07-23

最新評論