前端開發中,CSS 選擇器是布局樣式的重要組成部分,其中涉及到選擇器權重的概念。選擇器權重是用來比較兩個或多個選擇器的優先級,當多個選擇器作用于同一個元素時,誰的權重更高,元素就會使用誰的樣式。
選擇器權重的計算方法如下:
1. 每個選擇器都有一個初始的權重值為0 2. 按以下方法給選擇器賦值: - 每個ID屬性加上100 - 每個類、屬性、偽類加上10 - 每個元素、偽元素加上1 3. 如果選擇器包含在一個 style="" 標簽中,則加上1000的權重 4. 如果選擇器包含在一個 :not() 偽類中,則這個選擇器的權重不起作用
例如,以下是一個CSS樣式的代碼:
#header h1.title { color: red; } .subtitle { color: blue; } p { color: green; }
當應用到以下 HTML 代碼時:
<div id="header"> <h1 class="title subtitle">This is a Title</h1> <p class="subtitle">This is a sub-title</p> </div>
第一個選擇器 #header h1.title 的類別選擇器和ID選擇器的權重分別為:1 + 100 = 101,盡管它只是一個標簽 h1 的子元素。而第二個選擇器 .subtitle 的類別選擇器的權重為 10。第三個選擇器 p 的權重只為 1。
所以,第一個選擇器權重最大,其樣式將應用于 h1 標題上,文本顏色將被更改為紅色。p 標簽的顏色將保持綠色,.subtitle 類的文本顏色也將變成藍色。
上一篇前端框架取代css嗎