1.內聯樣式 > 內部樣式表 > 外部樣式表(寫在head標籤中)
外部樣式表使用link引入只能寫在head標籤中。故內部樣式表相當於在外部樣式表的後面。所以內部樣式表離元素近優先級高,如果將外部樣式表的link標籤寫在style標籤後面,。外部樣式表會優先生效(不過這樣不怎麼符合規則)。
w3c中:
一般而言,所有的樣式會根據下面的規則層疊於一個新的虛擬樣式表中,其中數字 4 擁有最高的優先權。
-
瀏覽器缺省設置
-
外部樣式表
-
內部樣式表(位於 <head> 標籤內部)
-
內聯樣式(在 HTML 元素內部)
因此,內聯樣式(在 HTML 元素內部)擁有最高的優先權,這意味着它將優先於以下的樣式聲明:<head> 標籤中的樣式聲明,外部樣式表中的樣式聲明,或者瀏覽器中的樣式聲明(缺省值)。
2.選擇器相同的時候看先後順序,後定義的優先級高。
<!DOCTYPE html>
<html lang="zh">
<head>
<meta charset="UTF-8">
<title>樣式表</title>
<link rel="stylesheet" href="newe.css">
</head>
<style>
.la{
color:red;
}
.main{
color:blue;
}
</style>
<body>
<div class="main la" id="con" >
CSS樣式表的優先級問題
</div>
</body>
</html>
字體顏色爲藍色。
3.定義多個class或ID
<div class="main" class="la" ></div>
這樣定義是錯誤的。瀏覽器只會識別第一個class,忽略第二個,瀏覽器顯示的源碼:
<div class="main"></div>
正確定義爲<div class="main la"></div>。
<div id="main" id=“la”></div>或者<div id="main la”></div>均是錯誤的因爲語法規定一個控件只能有一個ID。