CSS3之新增選擇器神秘面紗

2021-10-05 04:58:37 字數 2122 閱讀 9010

css3是css(層疊樣式表)技術的公升級版本,於2023年開始制訂,2023年5月23日w3c完成了css3的工作草案,主要包括盒子模型、列表模組、超連結方式、語言模組、背景和邊框、文字特效、多欄布局等模。

要使用css對html頁面中的元素實現一對一,一對多或者多對一的控制,這就需要用到css選擇器。

html頁面中的元素就是通過css選擇器進行控制的。

id選擇器(#id名)

類選擇器(.class名)

包含選擇器(e f)

偽類選擇器(:link,visited,hover,active,focus,first-child)

偽元素選擇器(::first-line,first-letter,before,after)

通配選擇器(*)

屬性選擇器(foo[name=『martin』])

子包含選擇器(e>f)

相鄰兄弟選擇器(e+f)

新增屬性選擇器:

1.[foo^=『bar』] 匹配e元素,該元素包含foo屬性,且foo屬性值以bar開頭

/* 匹配屬性值以指定開頭的每個元素 */

img[

class

^='a'

]

2.[foo$=『bar』] 匹配e元素,該元素包含foo屬性,且foo屬性值以bar結尾

/* 匹配屬性值以指定結尾的每個元素 */

img[

class$=

'a']

3.[foo*=『bar』] 匹配e元素,該元素包含foo屬性,且foo屬性值包含bar字串

/* 匹配屬性值中包含指定值的每個元素 */

img[

class

*="img"

]

新增結構偽類選擇器:

root 匹配文件所在的根元素

html:root .test
nth-child(n) 匹配e所在父元素第n個匹配e的元素,非e的子元素也參與排序,若第n個子元素不是e元素,則該語句沒有效果(注意這裡的n從1開始)

/* 匹配屬於其父元素中第n個子元素  子元素相對整潔(沒有其他的標籤亂入)*/

/* 所有子元素排序 */

.listb li:nth-

child(2

)

3.nth-last-child(n) 匹配e所在父元素倒數第n個匹配e的元素

/*匹配倒數第乙個子元素*/

.listb li:nth-last-

child(1

)

4.nth-of-type(n) 匹配e所在父元素第n個匹配e的元素,非e的子元素不參與排序(n同樣是從1開始)注意區別nth-child(n)

.listb li:nth-of-

type(2

)

5.last-child

/* 匹配屬於父元素中的最後乙個 */

.lista li:last-child

6.first-of-type

/* 匹配屬於父元素中的第乙個 */

.lista h1:first-child

7.last-of-type

/* 找到ul下面的最後乙個子元素 */

.lista h1:last-

of-type

8.only-child

/* 匹配屬於其父元素中僅有的乙個子元素 */

ul li:only-child

9.only-of-type

/*匹配父元素的所有子元素中唯一的那個子元素*/

p:only-

of-type

10.empty

/* 匹配沒有子元素的元素,也不能包括文字元素 */

ul:empty

ps:如何選擇選擇器要看在專案實戰中的情況,以上只是參考

CSS3 新增選擇器

新增選擇器 用法描述 element1 element2 p u選擇在同乙個父級元素下的p後面的所有的ul 選擇其 src 屬性值以 https 開頭的每個a元素 attribute value a src pdf 選擇其 src 屬性以 pdf 結尾的所有a元素 attribute value a...

css3新增選擇器

1.屬性選擇器 1 e att 元素 屬性 選擇具有att屬性的e元素,需要選擇有某個屬性的元素,而不論是行為是什麼,可以使用簡單的屬性選擇器 注 可以根據多個屬性進行選擇,只需要將屬性選擇器連線即可。2 e att val 元素 屬性 屬性值 選擇具有att屬性且屬性值為val的e元素,進一步縮小...

css3新增選擇器

屬性選擇器 1.dom attr 帶有attr的屬性會被選擇 2.dom attr value 帶有attr的屬性,並且值為value的元素會被選擇 3.dom attr value 帶有attr的屬性,並且值當中只要包含完整的value單詞,就會被選擇 4.dom attr value 帶有att...