css選擇器

1.class 和 id 的使用場景?

  • class用于主區(qū)塊里面的詳細(xì)內(nèi)容,同一個(gè)class可以重復(fù)出現(xiàn),一個(gè)標(biāo)簽可以有幾個(gè)不同的class。
  • id多使用于主要塊級元素,同一個(gè)id一個(gè)頁面中只能出現(xiàn)一次,有些獨(dú)一無二元素也可用id。

2.CSS常見選擇器

  • 通配符選擇器(*)
  • id選擇器(#ID)
  • 類選擇器(.className)
  • 元素選擇器(E)
  • 后代選擇器(E F)
  • 子元素選擇器(E>F)
  • 相鄰兄弟元素選擇器(E + F)
  • 兄弟元素選擇器(E ~ F)
  • 群組選擇器(selector1,selector2,...,selectorN)
  • 屬性選擇器(E[attr])更多屬性選擇器
  • 偽類選擇器(E:hover)更多偽類選擇器
  • nth選擇器(E:nth-child(an + b)) 更多相關(guān)知識(shí)
  • 偽元素選擇器(E::before)更多偽元素選擇器

3.選擇器的優(yōu)先級問題

  • css選擇器優(yōu)先級是根據(jù)權(quán)重計(jì)算的。
    • ID選擇器權(quán)值為100
    • 類選擇器、屬性選擇器、偽類選擇器權(quán)值為10
    • 標(biāo)簽選擇器、偽元素選擇器權(quán)值為1
    • 相應(yīng)的權(quán)值相加即可,最后根據(jù)結(jié)果排出優(yōu)先級
  • 除權(quán)重外還有些其他規(guī)則。
    • 行內(nèi)樣式 》 內(nèi)部樣式表 》外部樣式表
    • 權(quán)值相同的,后定義的優(yōu)先級較高
    • 樣式值含有!important,優(yōu)先級最高

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

  • 順序?yàn)閍:link > a:visited > a:hover > a:active
  • 原因:
    • 鼠標(biāo)經(jīng)過的“未訪問鏈接”同時(shí)擁有a:link、a:hover兩種屬性,后面的屬性會(huì)覆蓋前面的屬性定義;
    • 鼠標(biāo)經(jīng)過的“已訪問鏈接”同時(shí)擁有a:visited、a:hover兩種屬性,后面的屬性會(huì)覆蓋前面的屬性定義;
    • a:active是鼠標(biāo)點(diǎn)擊與釋放之間發(fā)生的事件,并擁有鼠標(biāo)懸停a:hover屬性;
    • 由于偽類的選擇器優(yōu)先級一致,后面的a鏈接樣式會(huì)覆蓋前面的。
    • 所以: a:link > a:visited > a:hover > a:active。

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

<pre>

  1. 選擇ID為header的元素

header{

}

  1. 選擇class為header的元素
    .header{
    }
  2. 選擇class為header的元素的后代元素中class為logo的元素
    .header .logo{
    }
  3. 選擇同時(shí)有header和mobile兩個(gè)class的元素
    .header.mobile{
    }
  4. 選擇class為header的元素的后代元素中的p元素和h3元素
    .header p, .header h3{
    }
  5. 選擇class為header的元素的后代元素中class為nav的元素的子元素中的li元素

header .nav>li{

}

  1. 選擇class為header的元素的后代元素中a元素的hover偽類

header a:hover{

}

  1. 選擇class為header的元素的后代元素中的class為logo的元素的所有它后面的兄弟元素中為p的元素

header .logo~p{

}

  1. 選擇class為header的元素的后代元素中的所有input元素中type屬性為text的元素

header input[type="text"]{

}
</pre>

6. 偽類選擇器有哪些

  • :active、:foucs、:hover、:link、:visted、:first-child、:lang

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

  • div:first-child:如果div是它父元素的第一個(gè)子元素則匹配,否則不能匹配
  • div:first-of-type:匹配div的父元素下的第一個(gè)div元素
  • div :first-child:匹配div元素的后代中的第一個(gè)元素
  • div :first-of-type:匹配div元素的后代中所有出現(xiàn)的第一種元素

8. 解析代碼:

<pre>
<style>
.item1:first-child{
color: red;
}
.item1:first-of-type{
background: blue;
}
</style>
<div class="ct">
<p class="item1">aa</p>
<h3 class="item1">bb</h3>
<h3 class="item1">ccc</h3>
</div>
</pre>

  • 因?yàn)閏lass為item1的元素的父元素下的第一個(gè)元素的class為item1,所以這個(gè)元素被選中,aa的顏色變?yōu)榧t色。
  • 因?yàn)閏lass為item1的父元素下有兩種元素,所以這兩種元素中的第一個(gè)出現(xiàn)的元素被選中,所以aa和bb所在的元素的背景色變?yōu)樗{(lán)色。
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

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

  • 1.class 和 id 的使用場景? class:類選擇器,一個(gè)標(biāo)簽可以有多個(gè)類且同一個(gè)類可以用到不同的標(biāo)簽上,...
    饑人谷_兔子君閱讀 1,273評論 0 0
  • class 和 id 的使用場景?class指定標(biāo)簽的類名, 把需要相同樣式的元素歸類于一個(gè)name下,需要此樣式...
    饑人谷_CCCLARITY閱讀 322評論 0 0
  • class 和 id 的使用場景? “#id" ID選擇器,不可以沖突,一個(gè)ID定位一個(gè)元素,調(diào)用方式為"i...
    Tuuu閱讀 367評論 0 0
  • 1,class 和 id 的使用場景? 1.class是類選擇器,用.class定義,定位到頁面中有相同特征的一類...
    _思銘閱讀 433評論 0 0
  • class和id的使用場景 class指定標(biāo)簽的類名,屬性值可出現(xiàn)在多個(gè)標(biāo)簽中。id指定標(biāo)簽的唯一標(biāo)識(shí),為某一元素...
    饑人谷_saybye閱讀 506評論 0 0

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