CSS中的優先級(specificity)決定了當多個CSS規則應用于同一元素時,哪個規則將優先顯示。在CSS中,優先級由選擇器的特殊性和來源(繼承或內聯)確定。
特殊性是一個基于選擇器的權重值,值越高,優先級越高。規則中的選擇器的特殊性按如下方式計算:
- ID選擇器: 100 - 類,偽類和屬性選擇器:10 - 元素和偽元素選擇器:1 - 通配符(*),組合器和其他選擇器:0
例如,對于選擇器p#id.class,特殊性為:100(ID選擇器)+ 10(類選擇器)+ 1(元素選擇器)= 111。
當兩個規則有相同的優先級時,后面出現的規則將覆蓋前面的規則。
如果有多個選擇器具有相同的特殊性,則根據代碼書寫順序來確定。后面出現的規則將優先顯示。
此外,內聯樣式的優先級最高,即當元素擁有內聯樣式時,它將覆蓋所有其他樣式。繼承的樣式排名最低,即子元素繼承的樣式將低于父元素中定義的樣式。
理解CSS選擇器特殊性和優先顯示的方式對于創建多樣化的、易于維護并且不沖突的樣式非常重要。在編寫CSS時,請注意優先級,使用選擇器的特殊性以確保樣式按預期顯示。