CSS中優先級是指在樣式沖突時,瀏覽器根據一定的規則決定使用哪一條樣式。優先級由選擇器特殊性和樣式來源兩部分組成。下面我們將詳細解析這兩個方面。
首先是選擇器特殊性,每個選擇器都有一個特殊性值,這個值用于判斷優先級。特殊性值可以按照以下規則進行計算:
1. 每個id選擇器數量為a,特殊性值為a*100。 2. 每個類、偽類、屬性選擇器、偽元素選擇器數量為b,特殊性值為b*10。 3. 每個元素選擇器和偽類選擇器數量為c,特殊性值為c*1。 4. 通配符、子選擇器、相鄰選擇器等的特殊性值為0。 5. 內聯樣式的特殊性值最高,為1000。 舉個例子,如果樣式中包含一個id選擇器、兩個類選擇器和一個元素選擇器,那么它的特殊性值為101。
其次是樣式來源,樣式來源可以分為四種類型:
1. 瀏覽器默認樣式,特殊性值為0. 2. 用戶代理樣式,特殊性值為1。 3. 外部樣式表,特殊性值為10。 4. 內部樣式表和內聯樣式,特殊性值為100。 如果存在相同特殊性值的樣式,會優先選用靠后的樣式。
綜上所述,計算優先級的具體算法可以概括為:將選擇器特殊性值和樣式來源值相加,得出總的優先級值,值越大的樣式,優先級越高。
下一篇css 中文本刪除線