css選擇器


一、基礎(chǔ)選擇器

1、標(biāo)簽選擇器

標(biāo)簽選擇器:標(biāo)簽名是什么就直接寫什么,其他任何符號(hào)都不要書寫。

標(biāo)簽選擇器可以選中頁(yè)面上所有的同種標(biāo)簽。嵌套的再深的標(biāo)簽也能被選中。

用途:一般用于清除默認(rèn)樣式或者重置默認(rèn)樣式。

2、id選擇器

id選擇器是通過標(biāo)簽的id屬性進(jìn)行設(shè)置。

寫法:#id屬性值。(#和屬性值之間不能有空格)。

id選擇器只能選中具有該id名的標(biāo)簽或者元素。

id名的命名規(guī)則:

必須以字母開頭(嚴(yán)格區(qū)分大小寫),后面可以有數(shù)字、下劃線、短橫。

id名只能出現(xiàn)一次,即使是不同標(biāo)簽也不能使用相同的id名。

id選擇器只能選中一個(gè)標(biāo)簽或者一個(gè)html元素,因?yàn)閕d名是唯一的。

css層疊性體現(xiàn)1:同一個(gè)元素可以被不同選擇器選中設(shè)置不同的樣式屬性,這些樣式屬性都可以加載。

3、類選擇器

類選擇器是通過元素的class屬性選中具有同種類名的所有元素。

寫法:.class屬性值(.后面緊跟屬性值,不要有空格)。

class屬性值的命名規(guī)則和id是一樣的。

類選擇器的特殊應(yīng)用:原子類(公共類),我們通常會(huì)設(shè)置很多原子類,元素有什么樣式直接書寫該原子類的類名。原子類的屬性只書寫一個(gè),便于查找。

一個(gè)元素可以有多個(gè)類名,類名之間用空格隔開。

實(shí)際工作中使用類選擇器較多,可以直接給想要的一些元素統(tǒng)一設(shè)置相同的屬性。

id上行為,class上樣式。

4、通配符

*,可以選中頁(yè)面上所有的元素,包括body。

通配符的用途:快速清除默認(rèn)樣式。

實(shí)際工作中不會(huì)使用通配符來清除默認(rèn)樣式。

例:

*{

margin: 0;

padding: 0;

}


二、高級(jí)選擇器

高級(jí)選擇器就是在基礎(chǔ)選擇器上進(jìn)行延伸。

1、后代選擇器

通過有嵌套關(guān)系的標(biāo)簽進(jìn)行選擇,通過標(biāo)簽或者類選擇器確定一個(gè)大的范圍,在大范圍再次進(jìn)行選擇,可以多次選擇。

寫法:通過空格隔開每一層。

后代選擇器不僅可以選中兒子,還可以選中孫子、曾孫子等。只要是后代都可以被選中。不管怎么選擇,都必須有對(duì)應(yīng)的html結(jié)構(gòu)。

例:

還可以把祖先補(bǔ)全書寫,可以精確每一層選擇。例:

div p span{

font-size: 36px;

}

2、交集選擇器

交集選擇器寫法:直接連續(xù)書寫選擇器,之間不要有任何空格。交集選擇器可以連續(xù)交集。

例:既是p標(biāo)簽,又有.para類和.fs類。

我是一些段落標(biāo)簽

p.para.fs{

color:yellow;

}

.box.para{} ?????//連續(xù)類名選擇器也是合法的

#box.para{} ?????//不合法,因?yàn)閕d是唯一的,可以直接被選中。

一定要區(qū)分交集選擇器和后代選擇器。

3、并集選擇器

可以同時(shí)選中多個(gè)元素,用逗號(hào)隔開每一個(gè)選擇器。

例:

p,h3,li{

color:red;

}

也可以選中類名的選擇器:.box,.ps,.fs{};

只要看到選擇器中有逗號(hào)的都是并集選擇器。


css3新增的選擇器

1、屬性選擇器

屬性選擇器:通過屬性值、屬性名進(jìn)行選中

①通過屬性值進(jìn)行選中

例:

<img src="images/0.jpg" ?alt="">

img[src="images/0.jpg"]{

border: 1px solid #000;

}

②開頭匹配:^=

例:

a[href ^="page."]{

color:red;

}

③結(jié)尾匹配$=

例:

a[href $="1.html"]{

color:red;

}

④任意匹配*=

例:

a[href *="page"]{

color: red;

}

⑤分組匹配~=

屬性值是獨(dú)立的成分(比如屬性值之間以空格隔開,那么被隔開的每一個(gè)都是獨(dú)立的)

自定義屬性:data-開頭,例:

選中的是box是一個(gè)獨(dú)立成分的元素。

例:

div[data-xixi ~="box"]{

color:red;

}

⑥短橫匹配 |=

div[data-xixi |="box"]{

color:red;

}

以box開頭的元素會(huì)被選中,如果還有其他元素必須以“-”連接。

⑦有屬性

例:

img[alt]{

border: 1px solid #000;

}

加深理解:

①屬性選擇器一般是以標(biāo)簽開頭,但是不寫標(biāo)簽也合法。

例:

[alt]{

border-color:red;

}

②可以連續(xù)交集

例:

img[src $= "2.jpg"][alt]{

border-color:red;

}

2、兒子序選擇器

①p:first-child:p是某個(gè)元素的第一個(gè)兒子

②p:last-child:p是某個(gè)元素的最后一個(gè)兒子。

③p:nth-child(n):p是某個(gè)元素的第n個(gè)兒子,序號(hào)是從1開始

④p:nth-child(an + b)選中連續(xù)多個(gè),從b開始,每a個(gè)選中一次。

例:從第4行開始,每隔3行選中。4,7,10,13,16……

tr:nth-child(3n+4){

background: orange;

}

⑤奇數(shù):nth-child(2n+1)

⑥偶數(shù):nth-child(2n)

⑦p:nth-last-child(n)倒數(shù)第幾個(gè)兒子。


3、兒子類型序選擇器

①h3:first-of-type{}選中的h3是某個(gè)元素的第一個(gè)h3兒子

②h3:last-of-type最后一個(gè)h3兒子

③h3:nth-of-type(n)序號(hào)是從1開始

④h3:nth-of-type(2n+3)任意多個(gè)

⑤h3:nth-last-of-type(n)倒數(shù)第n個(gè)h3標(biāo)簽的兒子。

(注:紅色是答案)

4、關(guān)系節(jié)點(diǎn)選擇器

后代選擇器

①兒子選擇器:>

兒子選擇器只能選中某個(gè)元素的子代,不能選中它的孫子或者曾孫子等其他后代元素。

div.box>p{

color:red;

}

②后面第一個(gè)親兄弟 +

h3+p{

color:red;

}

③后面所有的親兄弟 ~

h3~p{

color:red;

}

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

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

  • 一、CSS選擇器常見的有幾種? 基本選擇器 通配選擇器~選擇文檔中所有的html元素,用一個(gè)*表示 元素選擇器~選...
    dengpan閱讀 1,031評(píng)論 0 3
  • 1.class 和 id 的使用場(chǎng)景? class:類選擇器,一個(gè)標(biāo)簽可以有多個(gè)類且同一個(gè)類可以用到不同的標(biāo)簽上,...
    饑人谷_兔子君閱讀 1,278評(píng)論 0 0
  • CSS選擇器常見的有幾種? 類型選擇器(元素選擇器): 后代選擇器 上述選擇器適用于那些應(yīng)用范圍廣的一般樣式。 I...
    coolheadedY閱讀 651評(píng)論 1 2
  • class 和 id 的使用場(chǎng)景? 類class選擇器允許以一種獨(dú)立于文檔元素的方式來指定樣式。該選擇器可以單獨(dú)使...
    Vincent_永閱讀 370評(píng)論 0 0
  • id與class的使用場(chǎng)景 id選擇器,匹配特定id的元素類選擇器,匹配class包含(不是等于)特定類的元素id...
    姚小帥閱讀 411評(píng)論 0 0

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