CSS選擇器,以及選擇器的優(yōu)先級如何計算?

1、類別選擇器

類別選擇器根據(jù)類名來選擇,前面以“.”來標志。

在HTML中,元素可以定義一個class的屬性,并且多個元素都可以重復(fù)應(yīng)用這個屬性。

2、標簽選擇器

一個完整的HTML頁面是有很多不同的標簽組成,如:body,div,p,ul,li,而標簽選擇器,則是 決定哪些標簽采用相應(yīng)的css樣式。

3、ID選擇器

ID選擇器可以為標有特定ID的HTML元素制定特定的樣式。根據(jù)元素ID來選擇元素,具有唯一性,這意味著同一ID在同一文檔頁面中只能出現(xiàn)一次。例如,你將一個元素的id取值為“name”,那么在同一頁面你就不能再將其他元素id取名為“name”了。

前面以“#”號來標志,在樣式里面可以這樣定義

4、通用選擇器

用過“*”號來表示。如下代碼表示所有元素的內(nèi)外邊距都為0,所有的字體都為微軟雅黑。他可以清除不同瀏覽器的默認樣式。

同時通用選擇器還可以和后代選擇器組合。如下表示所有p元素后代的所有元素都應(yīng)用這個樣式。

注意:但是如果你在p標簽里嵌套了一個p標簽,就會出現(xiàn)瀏覽器不能解析的情況,因此要避免這種情況發(fā)生。.

5、后代選擇器

后代選擇器也稱為包含選擇汽車,用來選擇特定元素或元素組的后代,將對父元素的選擇放在前面,對子元素的選擇放在后面,中間加一個空格分開。后代選擇器中的元素不僅僅只能有兩個,對于多層子線后代關(guān)系,可以有多個空格加以分開。

如下例子定義了所有class屬性為father的元素下面的class屬性為child的顏色為紅色。

6、子選擇器

請注意這個選擇器與后代選擇器的區(qū)別,子選擇器只是選擇元素的直接后代,即僅僅作用于第一個后代。后代選擇器通過空格來進行選擇,而子選擇器是通過“>”進行選擇

7、偽類選擇器

即鏈接樣式。a元素的偽類,存在4中不同的狀態(tài):link、visited、active、hover。

8、群組選擇器

具有相同樣式的標簽分組顯示,將具有多個相同屬性的元素,合并群組進行選擇,定義同樣的css屬性,這大大的提高了編碼效率,同時也減少了css文件的體積。

9、相鄰?fù)x擇器

如一個標題h1元素后面緊跟了兩個段落p元素,我們想定位第一個段落p元素,對它應(yīng)用樣式,就可以使用相鄰?fù)x擇器。兩個元素之間用“+”進行連接。

問題一:如果是十一個class選擇器和一個ID選擇器,系統(tǒng)會以哪個優(yōu)先?

解答:十一個class的選擇器和一個ID選擇器系統(tǒng)會以ID選擇器優(yōu)先

問題二:對多個選擇器使用的優(yōu)先級是怎么進行計算的?

解答:對于不同類別的選擇器,以以下原則進行排序:

1、在屬性后面使用!important會覆蓋頁面內(nèi)任何位置定義的元素樣式。

2、作為style屬性寫在元素內(nèi)的樣式

3、id選擇器

4、類選擇器

5、標簽選擇器

6、通配符選擇器

7、瀏覽器自定義或子元素集成父類的樣式

將上面的稍微總結(jié)一下就是:

!important>行內(nèi)樣式>ID選擇器>類選擇器>標簽>通配符>繼承>瀏覽器默認屬性

同一級別中后寫的會覆蓋先寫的樣式。

問題三:子選擇器和后代選擇器的區(qū)別?

解答:這個在前面有講到,子選擇器只是選擇元素的直接后代,即僅僅作用于第一個后代,后代選擇器則可作用于孫子代、曾孫子代。后代選擇器通過空格來進行選擇,而子選擇器是通過“>”進行選擇。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容