CSS基礎(二)

classid的使用場景

id:適用與指定元素
class:適用與多個有共同樣式的元素

CSS常見選擇器

基礎選擇器

  • * 通用選擇器
  • #id id選擇器
  • .class class選擇器
  • element 類選擇器

組合選擇器

  • E,F 多元素選擇器,同時匹配元素E或元素F
  • E F 后代選擇器,匹配E元素的所有后代F
  • E>F 子元素選擇器,匹配E元素的所有子元素F
  • E+F 直接相鄰選擇器,匹配E元素之后的相鄰的同級元素F
  • E~F 普通相鄰選擇器,匹配E元素之后的同級元素F(無論直接相鄰與否)

屬性選擇器

  • E[attr] 匹配所有具有屬性attr的元素,div[id]就能取到所有有id屬性的div
  • E[attr =value] 匹配屬性attr值為value的元素,div[id=test],匹配id=test的div
  • E[attr ~=value] 匹配所有屬性attr具有多個空格分隔、其中一個值等于value的元素
  • E[attr ^=value] 匹配屬性attr的值以value開頭的元素
  • E[attr $=value] 匹配屬性attr的值以value結(jié)尾的元素
  • E[attr *=value] 匹配屬性attr的值包含value的元素

選擇器的優(yōu)先級計算

簡單場景

  1. 在屬性后面有!important時,優(yōu)先級最高
  2. 作為style屬性寫的內(nèi)聯(lián)樣式
  3. id選擇器
  4. 類選擇器
  5. 偽類選擇器
  6. 屬性選擇器
  7. 標簽選擇器
  8. 通配符選擇器
  9. 瀏覽器的自定義

復雜選擇器

  • 行內(nèi)樣式 ==>a
  • ID選擇器 ==>b
  • 類、屬性選擇器和偽類選擇器 ==>c
  • 標簽選擇器、偽元素 ==>d
    從上到下,優(yōu)先度以此降低。

a:link、a:hover、a:active、a:visited的使用順序

a:link{
color: blue;
}
a:visited{
color: red;
}
a:hover{
color: green;
}
a:active{
color: yellow;
}

a首先是一個沒點擊過的鏈接(a:link),當鼠標放在a鏈接上(a:hover),再點擊(a:active),點擊后即為已訪問過的鏈接(a:visited)。
樣式層層覆蓋。

常見的偽類選擇器

  • E:first-child 匹配元素E的第一個子元素
  • E:link 匹配所有未被點擊過的鏈接E
  • E:visited 匹配所有已被點擊過的鏈接E
  • E:active 匹配鼠標已按下且未釋放的E元素
  • E:hover 匹配鼠標懸停其上的元素E
  • E:focus 匹配獲得當前焦點的元素E
  • E:lang(c) 匹配lang屬性等于c的元素E
  • E:enabled 匹配表單中可用的元素
  • E:disabled 匹配表單中禁用的元素
  • E:cheked 匹配表單中被選中的radio或checkbox元素
  • E:selection 匹配用戶當前選中的元素
  • 更多選擇器

p:first-childp:first-of-type的作用和區(qū)別

  • p:first-child父元素下第一個且為p的元素
<style>
p:first-child{
color:red;
}
</style>
<div>
      <p>第一個元素——p</p>                   字體為紅
      <div>第二個元素——div</div>             字體為黑
</div>
<div>
      <div>第一個元素——div</div>             字體為黑
      <p>第二個元素———p</p>                  字體為黑
</div>
  • p:first-of-type 父元素下第一個p元素
p:first-of-type{
color:red;
}
<div>
      <p>第一個元素——p</p>                   字體為紅
      <div>第二個元素——div</div>             字體為黑
</div>
<div>
      <div>第一個元素——div</div>             字體為黑
      <p>第二個元素———p</p>                  字體為紅
</div>

問題1

#header{
}/*id為header的元素*/
.header{
}/*class為header的元素*/
.header .logo{
}/*后代選擇器,class為header下所有class為logo的元素*/
.header.mobile{
}/*class為header和mobile的元素*/
.header p, .header h3{
}/*class為header下所有p和h3元素*/
#header .nav>li{
}/*id為header下所有class為nav的元素下所有l(wèi)i元素*/
#header a:hover{
}/*id為header下所有鼠標在其上方的a元素*/
#header .logo~p{
}/*id為header下所有class為logo后所有同級的p元素*/
#header input[type="text"]{
}/*id為header下所有input標簽中有type屬性為text的元素*/

問題2

<style>
.item1:first-child{
  color: red;
}
.item1:first-of-type{
  background: blue;
}
</style>
 <div class="ct">
   <p class="item1">aa</p>/*該元素即是.ct中第一個元素,也是.ct中第一個p元素,所以它即是紅字也是藍背景*/
   <h3 class="item1">bb</h3>/*該元素是.cd中的第二個元素,但是卻是第一個h3元素,所以它僅是背景為藍色*/
   <h3 class="item1">ccc</h3>/*該元素是.cd中的第三個元素,也是第二個h3元素,所以它的樣式是瀏覽器的默認樣式*/
 </div>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

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

  • 1.class 和 id 的使用場景? class:類選擇器,一個標簽可以有多個類且同一個類可以用到不同的標簽上,...
    饑人谷_兔子君閱讀 1,274評論 0 0
  • class 和 id 的使用場景? id:id選擇器,使用#name定義(name為id名,可任意取名),使用id...
    DCbryant閱讀 344評論 0 0
  • class 和 id 的使用場景? class屬性: 指定標簽的類名,CSS操作中,把一些特定的樣式放到一個類中,...
    我要認真學前端閱讀 1,082評論 0 0
  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標簽默認的外補...
    _Yfling閱讀 14,125評論 1 92
  • 1,class 和 id 的使用場景? 1.class是類選擇器,用.class定義,定位到頁面中有相同特征的一類...
    _思銘閱讀 433評論 0 0

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