iT邦幫忙

2025 iThome 鐵人賽

DAY 12
0

選擇器能做到更多更細微的指定,來改變自己想要的物件,選擇器中有所謂的父與子,下面的div h1為例,此時就是指定div是h1父親的情況下會給所有子元素的H1變色,還有一個元素是祖先元素,就是父親的父親

    <style>
        div h1{color:red}
        
    </style>
    <div>
        <h1>這是標題</h1>
        <h1>這是標題2</h1>
    </div>
    <h1>這是標題3</h1>

https://ithelp.ithome.com.tw/upload/images/20250926/20178696USaKqqC2N0.png
也可以指定類別class的後代

.box h1{color:red}
    <div class="box">
        <h1>這是標題</h1>
        <h1>這是標題2</h1>
    </div>
    <h1>這是標題3</h1>

https://ithelp.ithome.com.tw/upload/images/20250926/20178696pWyaREvxoN.png

  .box H1,span{color:red}

H1,span{}:,表示這是並級選擇器,意思是H1跟span是同級的,整串的意思變成 box的所有後代中的h1與span變色,如果不上,而是空白的話會變成 box的後代 div的後代 span變色,意思會完全不一樣

.box>H1{color:red}
    <div class="box">
        <div>
            <h1>這是標題1</h1>
            
        </div>
    </div>

>表示父是box的H1變色,這次給H1在包一層div來看結果
https://ithelp.ithome.com.tw/upload/images/20250926/20178696dcThdyP8mW.png
沒有變色的原因是因為這次H1的父元素之是一個空白的div,box是H1的祖先元素,所以這次不會變色

    <div>
        <div  class="box">
            <h1>這是標題1</h1>
        </div>
    </div>

這次box確實是h1的父親就能成功變色了
https://ithelp.ithome.com.tw/upload/images/20250926/20178696utDEtRnE5s.png

h1+h1{ color:red }
         <h1>這是標題1</h1>
        <h1>這是標題2</h1>
        <h1>這是標題3</h1>

h1+h1,+表示前者後的第一個元素必須是後者,否則不變色,

https://ithelp.ithome.com.tw/upload/images/20250926/20178696QzcY1ndt2N.png

可以看到下面兩個H1變色了,這是因為標題2是標題1後的第一個物件且是H1,而標題3因為是標題2後的第一個物件且是H1所以變色

            <h1>這是標題1</h1>
            <span>這是span1</span>
            <h1>這是標題2</h1>

將中間改成span後就都不變色了,這是因為標題1後的第一個元素是span所以不變色,而標題2雖然是H1但它是標題1後的第二個元素所以也不變色
https://ithelp.ithome.com.tw/upload/images/20250926/20178696zkpNv0nT7D.png

還有一個東西是*,*是通配選擇器,他能夠指定所有的元素

*{color: violet;}
    <h1>這是標題1</h1>
    <span>這是span1</span>
    <p>這是p元素</p>

https://ithelp.ithome.com.tw/upload/images/20250926/20178696W56xuJwwWo.png
這是前面提過的優先權,可以看到通配選擇器是全都為0,這是最低的優先權,隨便一個css設定都可以蓋過去
https://ithelp.ithome.com.tw/upload/images/20250926/20178696OBBqI3UGUR.png


上一篇
Day11盒模型
系列文
HTML&CSS30天修煉12
圖片
  熱門推薦
圖片
{{ item.channelVendor }} | {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言