DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> CSS入門知識 >> 關於CSS >> 淺談CSS中的繼承性,特殊性,層疊性和重要性
淺談CSS中的繼承性,特殊性,層疊性和重要性
編輯:關於CSS     

1. 繼承性

CSS的某些樣式是具有繼承性的,那麼什麼是繼承呢?繼承是一種規則,它允許樣式不僅應用於某個特定 html 標簽元素,而且應用於其後代。比如下面代碼:如某種顏色應用於 p 標簽,這個顏色設置不僅應用 p 標簽,還應用於 p 標簽中的所有子元素文本,這裡子元素為 span 標簽。

XML/HTML Code復制內容到剪貼板
  1. p{color:red;}   
  2. <p>三年級時,我還是一個<span>膽小如鼠</span>的小男孩。</p>  
結果 p 中的文本與 span 中的文本都設置為了紅色。但注意有一些 css 樣式是不具有繼承性的。如 border:1px solid red;
CSS Code復制內容到剪貼板
  1. p{border:1px solid red;}  

在上面例子中它代碼的作用只是給 p 標簽設置了邊框為1像素、紅色、實心邊框線,而對於子元素 span 是沒用起到作用的。

2. 特殊性

有的時候我們為同一個元素設置了不同的 CSS 樣式代碼,那麼元素會啟用哪一個 CSS 樣式呢?我們來看一下面的代碼:

XML/HTML Code復制內容到剪貼板
  1. p{color:red;}   
  2. .first{color:green;}   
  3. <p class="first">三年級時,我還是一個<span>膽小如鼠</span>的小男孩。</p>  

p 和 .first 都匹配到了 p 這個標簽上,那麼會顯示哪種顏色呢?green是正確的顏色,那麼為什麼呢?是因為浏覽器是根據權值來判斷使用哪種 css 樣式的,權值高的就使用哪種 css 樣式。

下面是權值的規則:

標簽的權值為1,類選擇符的權值為10,ID選擇符的權值最高為100。例如下面的代碼:

XML/HTML Code復制內容到剪貼板
  1. p{color:red;} /*權值為1*/   
  2. p span{color:green;} /*權值為1+1=2*/   
  3. .warning{color:white;} /*權值為10*/   
  4. p span.warning{color:purple;} /*權值為1+1+10=12*/   
  5. #footer .note p{color:yellow;} /*權值為100+10+1=111*/   

注意:還有一個權值比較特殊–繼承也有權值但很低,有的文獻提出它只有0.1,所以可以理解為繼承的權值最低。

3. 層疊性

我們來思考一個問題:如果在html文件中對於同一個元素可以有多個css樣式存在並且這多個css樣式具有相同權重值怎麼辦?好,這一小節中的層疊幫你解決這個問題。

層疊就是在html文件中對於同一個元素可以有多個css樣式存在,當有相同權重的樣式存在時,會根據這些css樣式的前後順序來決定,處於最後面的css樣式會被應用。

如下面代碼:

CSS Code復制內容到剪貼板
  1. p{color:red;}   
  2. p{color:green;}   

最後 p 中的文本會設置為green,這個層疊很好理解,理解為後面的樣式會覆蓋前面的樣式。

所以前面的css樣式優先級就不難理解了:

內聯樣式表(標簽內部)> 嵌入樣式表(當前文件中)> 外部樣式表(外部文件中)。

4. 重要性

我們在做網頁代碼的時,有些特殊的情況需要為某些樣式設置具有最高權值,怎麼辦?這時候我們可以使用!important來解決。

如下代碼:

XML/HTML Code復制內容到剪貼板
  1. p{color:red!important;}   
  2. p{color:green;}   
  3. <p class="first">三年級時,我還是一個<span>膽小如鼠</span>的小男孩。</p>  

這時 p 段落中的文本會顯示的red紅色。

注意:!important要寫在分號的前面

這裡注意當網頁制作者不設置 css 樣式時,浏覽器會按照自己的一套樣式來顯示網頁。並且用戶也可以在浏覽器中設置自己習慣的樣式,比如有的用戶習慣把字號設置為大一些,使其查看網頁的文本更加清楚。這時注意樣式優先級為:浏覽器默認的樣式 < 網頁制作者樣式 < 用戶自己設置的樣式,但記住 !important 優先級樣式是個例外,權值高於用戶自己設置的樣式。

以上這篇淺談CSS中的繼承性,特殊性,層疊性和重要性就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved