【CSS筆記四】CSS的繼承、層疊和特殊性

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

p{color:red;} <p>三年級時,我還是一個<span>膽小如鼠</span>的小女孩。</p>

p中的文本與span中的文本都設定為了紅色。但注意有一些css樣式是不具有繼承性的。如border:1px solid red;

p{border:1px solid red;} <p>三年級時,我還是一個<span>膽小如鼠</span>的小女孩。</p>

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

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

p{color:red;} .first{color:green;} <p class="first">三年級時,我還是一個<span>膽小如鼠</span>的小女孩。</p>

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

下面是權值的規則:

標籤的權值為1,類選擇符的權值為10,ID選擇符的權值最高為100。

例如下面的代碼:

p{color:red;} /*權值為1*/ p span{color:green;} /*權值為1+1=2*/ .warning{color:white;} /*權值為10*/ p span.warning{color:purple;} /*權值為1+1+10=12*/ #footer .notep{color:yellow;} /*權值為100+10+1=111*/

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

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

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

如下面代碼:

p{color:red;} p{color:green;} <p class="first">三年級時,我還是一個<span>膽小如鼠</span>的小女孩。</p>

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

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

如下代碼:

p{color:red!important;} p{color:green;} <p class="first">三年級時,我還是一個<span>膽小如鼠</span>的小女孩。</p>

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

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

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

以上就是【CSS筆記四】CSS的繼承、層疊和特殊性的內容,更多相關內容請關注topic.alibabacloud.com(www.php.cn)!

  • 相關文章

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.