CSS3的選擇器優(yōu)先級是用于確定CSS樣式對文檔中元素的應(yīng)用順序的一種規(guī)則。當(dāng)多個(gè)規(guī)則具有針對同一元素的相同樣式,則優(yōu)先級決定了哪個(gè)規(guī)則最終將應(yīng)用于該元素。
優(yōu)先級規(guī)則是基于各種類型的選擇器指定的權(quán)重來計(jì)算的。下面是CSS選擇器的簡單列表,按照權(quán)重從高到低排序:
1. !important 2. 內(nèi)聯(lián)樣式(例如,style=”color:red;”) 3. ID選擇器(例如,#myid) 4. 類選擇器(例如,.myclass) 5. 屬性選擇器(例如,[type=”radio”]) 6. 偽類選擇器(例如,:hover) 7. 元素選擇器(例如,div) 8. 通配選擇器(*)
需要牢記的是,優(yōu)先級計(jì)算只涉及選擇器本身,而不涉及選擇器所包含的元素。因此,選擇器中包含的元素的數(shù)量對優(yōu)先級沒有影響。
也有可能發(fā)生優(yōu)先級沖突。在這種情況下,具有更高優(yōu)先級的規(guī)則將覆蓋具有低優(yōu)先級的規(guī)則。此外,規(guī)則的指定方式也會(huì)影響優(yōu)先級,因?yàn)槿绻褂脙?nèi)聯(lián)樣式或!important關(guān)鍵字指定樣式,那么此類規(guī)則將優(yōu)先于其他規(guī)則。
在實(shí)際開發(fā)中,盡量避免使用!important關(guān)鍵字和內(nèi)聯(lián)樣式。當(dāng)然,在使用類和ID選擇器時(shí),最好為它們賦予具有一定描述性的名稱,以使代碼更易于維護(hù)。