[복합 선택자]

 

일치 선택자(Basic Combinator)

; EF / E 와 F 를 동시에 만족하는 요소 선택.

 
/* span 중에 orange 클래스를 가진 요소를 찾는다 */
span.orange {
    color: red;
}
cs
<div>
    <ul>
        <li>사과</li>
        <li>딸기</li>
        <li class="orange">오렌지</li>
    </ul>
    <div>당근</div>
    <p>토마토</p>
    <span class="orange">오렌지</span>  <!-- 선택 -->        
</div>
cs

 

자식 선택자(Child Combinator)

; E(>)F / E 의 자식 요소 F 를 선택.

 
/* ul 의 자식 요소 중에 orange 클래스를 가진 요소를 찾는다 */
ul > .orange {
    color: red;
}
cs
 
<div>
    <ul>
        <li>사과</li>
        <li>딸기</li>
        <li class="orange">오렌지</li>  <!-- 선택 --> 
    </ul>
    <div>당근</div>
    <p>토마토</p>
    <span class="orange">오렌지</span>
</div>
cs

 

후손(하위) 선택자(Descendant Combinator)

; E( )F / E 의 후손(하위) 요소 F 를 선택.

 
 
/* div 가 가지고 있는 요소들 중에 orange 클래스를 찾는다 */
div .orange {
    color: red;
}
cs
<div>
    <ul>
        <li>사과</li>
        <li>딸기</li>
        <li class="orange">오렌지</li>  <!-- 선택 --> 
    </ul>
    <div>당근</div>
    <p>토마토</p>
    <span class="orange">오렌지</span>  <!-- 선택 -->        
</div>
cs

 

인접 형제 선택자(Adjacent Sibling Combinator)

; E(+)F / E 의 다음 형제 요소 F 하나만 선택.

 
 
/* orange 클래스를 가진 요소의 "다음" li 요소를 찾는다 */
.orange + li {
    color: red;
}
cs
<ul>
    <li>사과</li>
    <li>딸기</li>
    <li class="orange">오렌지</li>
    <li>망고</li>   <!-- 선택 -->
    <li>토마토</li>
</ul>
cs

 

일반 형제 선택자(General Sibling Combinator)

; E(~)F / E 의 다음 형제 요소 F 모두 선택.

 
 
/* orange 클래스를 가진 요소의 다음 "모든" li 요소를 찾는다 */
.orange ~ li {
    color: red;
}
cs
<ul>
    <li>사과</li>
    <li>딸기</li>
    <li class="orange">오렌지</li>
    <li>망고</li>   <!-- 선택 -->
    <li>토마토</li> <!-- 선택 -->
</ul>
cs

'::public > HTML & CSS(SCSS)' 카테고리의 다른 글

CSS - 가상요소 선택자  (0) 2021.04.01
CSS - 가상클래스 선택자  (0) 2021.03.31
CSS - 기본 선택자  (0) 2021.03.31
CSS - 기본 문법, 선언 방식  (0) 2021.03.30
CSS - 환경 설정  (0) 2021.03.30

+ Recent posts