CSS選擇器

1.class 和 id 的使用場(chǎng)景?

id是設(shè)置標(biāo)簽的標(biāo)識(shí)。用于定義一個(gè)元素的獨(dú)特的樣式。一個(gè)頁(yè)面中可以有很多個(gè)id,但每個(gè)id只能定義一個(gè)元素。
class是設(shè)置標(biāo)簽的類,用于指定元素屬于何種樣式的類。一個(gè)頁(yè)面中可以有很多個(gè)class,并且每一個(gè)class都可以指定很多個(gè)元素。

2.CSS選擇器常見(jiàn)的有幾種?

2-1.基礎(chǔ)選擇器

  • 通用元素選擇器 *
  • id選擇器 #id
  • class選擇器 .class
  • 標(biāo)簽選擇器 element

2-2.組合選擇器

  • E,F 多元素選擇器
    用于同時(shí)選中E和F
  • E F 后代選擇器
    用于選擇E的所有后代F
  • E>F 子元素選擇器
    用于選擇E的所有直接后代F
  • E+F 直接相鄰選擇器
    用于選擇E之后相鄰的同級(jí)F
  • E~F 普通相鄰選擇器
    用于選擇E之后的同級(jí)F
  • .class1.class2以及element#id
    id和class選擇器和選擇器連寫的時(shí)候不需要分隔符

2-3.屬性選擇器

2-4.偽類選擇器

  • E:first-child
    匹配元素E的第一個(gè)子元素。
  • E:enabled 以及 E:disabled
    匹配表單中可用/禁用的元素。
  • E:nth-child(n)
    匹配其父元素的第n個(gè)子元素,第一個(gè)編號(hào)為1。
  • E:nth-last-child(n)
    匹配其父元素的倒數(shù)第n個(gè)子元素,第一個(gè)編號(hào)為1。
  • E:nth-of-type(n)
    與:nth-child()作用類似,但是僅匹配使用同種標(biāo)簽的元素

2-5.偽元素選擇器

  • E::before
    在E元素之前插入生成的內(nèi)容
  • E::after
    在E元素之后插入生成的內(nèi)容

3.選擇器的優(yōu)先級(jí)是怎樣的?對(duì)于復(fù)雜場(chǎng)景如何計(jì)算優(yōu)先級(jí)?

3-1.選擇器的優(yōu)先級(jí)是怎樣的?
從高到低:

  • 在屬性后面使用 !important 會(huì)覆蓋頁(yè)面內(nèi)任何位置定義的元素樣式
  • 作為style屬性寫在元素標(biāo)簽上的內(nèi)聯(lián)樣式
  • id選擇器
  • 類選擇器
  • 偽類選擇器
  • 屬性選擇器
  • 標(biāo)簽選擇器
  • 通配符選擇器
  • 瀏覽器自定義

3-2.對(duì)于復(fù)雜場(chǎng)景如何計(jì)算優(yōu)先級(jí)?
劃分成四類,根據(jù)abcd的數(shù)量來(lái)計(jì)算優(yōu)先級(jí)。優(yōu)先選擇包含a數(shù)量最多的那個(gè),若a數(shù)量相同,則選擇b數(shù)量最多,以此類推。

行內(nèi)樣式 <div style="xxx"></div> ==> a
ID 選擇器 ==> b
類,屬性選擇器和偽類選擇器 ==> c
標(biāo)簽選擇器、偽元素 ==> d

4.a:link, a:hover, a:active, a:visited 的順序是怎樣的? 為什么?

順序是a:link,a:visited, a:hover, a:active。
因?yàn)閍:link是一直生效的,而a:visited是在鏈接被訪問(wèn)后一直生效的,若這兩個(gè)放在后面,則會(huì)覆蓋a:hover, a:active的效果。

5.以下選擇器分別是什么意思?

Paste_Image.png

6.列出你知道的偽類選擇器

  • E:first-child
    匹配元素E的第一個(gè)子元素。
  • E:enabled 以及 E:disabled
    匹配表單中可用/禁用的元素。
  • E:nth-child(n)
    匹配其父元素的第n個(gè)子元素,第一個(gè)編號(hào)為1。
  • E:nth-last-child(n)
    匹配其父元素的倒數(shù)第n個(gè)子元素,第一個(gè)編號(hào)為1。
  • E:nth-of-type(n)
    與:nth-child()作用類似,但是僅匹配使用同種標(biāo)簽的元素

7.div:first-child和div:first-of-type的作用和區(qū)別

div:first-child是指父元素下的第一個(gè)子元素,且必須為div。
div:first-of-type是指匹配父元素下div中同種標(biāo)簽的第一個(gè)元素。

8.運(yùn)行如下代碼,解析下輸出樣式的原因。

Paste_Image.png
Paste_Image.png

.item1:first-child{ color: red;}指的是父元素下第一個(gè)item1的字體顏色是紅色。這個(gè)代碼作用于<p class="item1">aa</p>
.item1:first-of-type{ background: blue;}指的是父元素下item1中同種標(biāo)簽的第一個(gè)元素的背景顏色是藍(lán)色。這個(gè)代碼作用于<p class="item1">aa</p><h3 class="item1">bb</h3>

最后編輯于
?著作權(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)容

  • 1.class 和 id 的使用場(chǎng)景? 類選擇器允許以一種獨(dú)立于文檔元素的方式來(lái)指定樣式。該選擇器可以單獨(dú)使用,也...
    草鞋弟閱讀 2,555評(píng)論 0 1
  • 1.class 和 id 的使用場(chǎng)景? class:類選擇器,一個(gè)標(biāo)簽可以有多個(gè)類且同一個(gè)類可以用到不同的標(biāo)簽上,...
    饑人谷_兔子君閱讀 1,278評(píng)論 0 0
  • 1.class 和 id 的使用場(chǎng)景? 兩者都能選取DOM節(jié)點(diǎn)并給DOM節(jié)點(diǎn)添加樣式,但是W3C標(biāo)準(zhǔn)里規(guī)定頁(yè)面中只...
    饑人谷_米彌輪閱讀 508評(píng)論 0 1
  • 一、CSS選擇器常見(jiàn)的有幾種? 基本選擇器 通配選擇器~選擇文檔中所有的html元素,用一個(gè)*表示 元素選擇器~選...
    dengpan閱讀 1,031評(píng)論 0 3
  • class 和 id 的使用場(chǎng)景 class:一個(gè)標(biāo)簽可以有多個(gè)class且同一個(gè)class可以用到不同的標(biāo)簽上,...
    尾巴尾巴尾巴閱讀 473評(píng)論 0 0

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