標籤:
繼承
CSS的某些樣式是具有繼承性的,那麼什麼是繼承呢?繼承是一種規則,它允許樣式不僅應用於某個特定html標籤元素,而且應用於其後代。比如下面代碼:
<html>
<head><style>p{border:1px solid red}</style></head><body><p>123<span>123</span>123</p></body></html>
如某種顏色應用於p標籤,這個顏色設定不僅應用p標籤,還應用於p標籤中的所有子項目文本,這裡子項目為span標籤。
在上面的例子中,span標籤沒有用處,p標籤起到了設定了邊框為1像素,實心邊框線。
特殊性
有的時候我們為同一個元素設定了不同的CSS樣式代碼,那麼元素會啟用哪一個CSS樣式呢?
想要理解這個概念,就要先理解權值這個概念。
在百度百科中對於權值的概念是這樣的:在數學領域,權值指加權平均數中的每個數的頻數,也稱為權數或權重。電腦領域中(資料結構)權值就是定義的路徑上面的值。可以這樣理解為結點間的距離。通常指字元對應的二進位編碼出現的機率。
<html><head><style>p{color:red}.first{color:green}</style></head><body><p class="first">123</p></body></html>
在CSS中,權值是這樣的:標籤的權值為1,類選擇符的權值10,ID選擇符的權值為100。
層疊
如果在html檔案中對於同一個元素可以有多個CSS樣式存在並且這多個CSS樣式具有相同權值怎麼辦?
這就是層疊,如下列代碼:
<html><head><style>p{color:red}p{color:green}</style></head><body><p>123</p></body></html>
最後p中的文本會設定成green,層疊很好理解。
重要性
當我們在做網頁代碼時,有些特殊的情況需要為某些樣式設定具有最高權值,怎麼辦?這時我們可以使用!important來解決
如下代碼:
<html><head><style>p{color:red!important;}p{color:green}</style></head><body><p>123</p></body></html>
這時p的顏色為紅色。
CSS中繼承,特殊性,層疊與重要性