CSS與SCSS的選擇器總結


選擇器可以選擇

  1. 類(或ID)、
  2. 標簽、
  3. 類(或ID)與標簽組合

表示方式為: 

  標簽 ID
HTML class="cla" <lab> id="num"
CSS .cla lab #num

 

 

 

 

注意:類與ID類似,下面的例子的也可以換成ID

 

 

一、CSS的選擇器

1、多(類)選擇器

(1)類或標簽

選擇class=“cla1 cla2 cla3”的標簽,改變【內容3】

.cla1.cla2.cla3 {
    width: 100%;
}
<div class="cla1">
   內容1 </div> <div class="cla1 cla2">
   內容2 </div> <div class="cla1 cla2 cla3">
   內容3 </div>

 

(2)標簽與類的組合

table.cla1.cla2 {
    width: 100%;
}
<table class="cla1 cla2">
   內容 </table>

 

 

2、群組選擇器

(1)類或標簽

 選擇含有cla1、cla2、cla3任一個class的標簽,改變【內容1】、【內容2】、【內容3】

.cla1, .cla2, .cla3 {
    width: 100%;
}
<div class="cla1">
   內容1 </div> <div class="cla1 cla2">
   內容2 </div> <div class="cla1 cla2 cla3">
   內容3 </div>

 

(2)標簽與類的組合

table, .cla1, .cla2 {
    width: 100%;
}
<div class="cla1">
   內容1 </div> <div class="cla2">
   內容2 </div> <table>
   內容3 </table>

 

 

3、相鄰選擇器

(1)類或標簽

選擇cla1后面緊接的cla2(同一父級),改變【內容2】

.cla1 + .cla2 {
    width: 100%;
}
<div class="cla0">
    <div class="cla1">
     內容1   </div> <div class="cla2">
     內容2   </div> </div>

 

(2)標簽與類的組合

h1 + cla1 {
    width: 100%;
}
<div class="cla0">
    <h1>
     內容1   </h1> <div class="cla1">
     內容2   </div> </div>

 

 

4、子代(類)選擇器

(1)類或標簽

選擇 cla1>cla2>cla3 這種嵌套結構的全部cla3標簽(直接后代),改變【內容1】

.cla1
>.cla2
>.cla3 {
    width: 100%;
}
<div class="cla1">
    <div class="cla2">
        <div class="cla3">
       
內容1        <div class="cla3">
          內容2 </div> </div> </div> </div>

 

(2)標簽與類的組合

table
>.cla1
>td {
    width: 100%
}
<table>
    <div class="cla1">
        <td>
       內容      </td> </div> </table>

 

 

5、后代(類)選擇器

(1)類或標簽

 選擇 cla1后代里面的全部cla3標簽 (不管后代嵌套得有多深),改變【內容1】、【內容2】

.cla1 .cla3 {
    width: 100%;
}
<div class="cla1">
    <div class="cla2">
        <div class="cla3">
        內容1 <div class="cla3">
          內容2 </div> </div> </div> </div>

 

(2)標簽與類的組合

.cla1 h1 {
    width: 100%;
}
<div class="cla1">
    <td>
        <h1>
       內容      </h1> </td> </div>

 

 

6、偽類選擇器

偽類必須配合正常的類來使用,改變未訪問的鏈接【內容】

a:link {
    color: #fff
}
<a>
   內容 </a>

 

 

 

 

二、SCSS的選擇器

1、多(類)選擇器 

.cla1 {
    &.cla2.cla3 {
        width: 100%;
    }
}
.cla1.cla2.cla3 {
    width: 100%;
}

 

 

2、群組選擇器

 

.cla1 {
    &, .cla2, .cla3 {
        width: 100%;
    }
}
.cla1, .cla2, .cla3 {
    width: 100%;
}

 

 

3、相鄰選擇器

.cla1 {
    & + .cla2 {
        width: 100%;
    }
}
.cla1 + .cla2 {
    width: 100%;
}

 

 

4、子代(類)選擇器

.cla1 {
    >.cla2>.cla3 {
        width: 100%;
    }
}

//或者是從子類寫到父類(根據自己實際需要)
.cla2 {
    .cla1>&>.cla3 {
        width: 100%;
    }
}
.cla1>.cla2>.cla3 {
    width: 100%;
}

 

 

5、后代(類)選擇器

.cla1 { .cla3 {
        width: 100%;
    }
}

//或者是從子類寫到父類(根據自己實際需要)
.cla3 {
    .cla1 & {
        width: 100%;
    }
}
.cla1 .cla3 {
    width: 100%;
}

 

 

6、偽類選擇器

a {
    &:link {
        color: #ffffff;
    }
}
a:link {
    color: #ffffff;
}

 

 

7、自定義類(BEM)的選擇

//以前的用法
.cla {
    @at-root #{&}1 {
        width: 100%;
    }
    @at-root #{&}2 {
        width: 100%;
    }
}

//新支持的用法(后面最好不要跟【標簽】或【屬性】名)
.cla {
    &1 {
        width: 100%;
    }
    &2 {
        width: 100%;
    }
}
.cla1 {
    width: 100%;
}

.cla2 {
    width: 100%;
}

 

 

8、屬性的選擇

.cla1 {
    border: {
        width: 1px;
        style: soild;
        color: #ffffff;
    }
}
.cla1 {
    border-width: 1px;
    border-style: soild;
    border-color: #ffffff;
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM