선택자A > 선택자B
.class1 > p {color: red;}
<div class="class1">
<p>자식</p>
<div>
<p>손자</p>
</div>
<p>자식</p>
</div>
선택자A 선택자B
.class1 p {color: red;}
<div class="class1">
<p>자식</p>
<div>
<p>손자</p>
</div>
<p>자식</p>
</div>
선택자A ~ 선택자B
h1 ~ h2 {color: red;}
<h2>형제0</h2>
<h1>형제1</h1>
<h2>형제2</h2>
<h2>형제3</h2>
<h2>형제4</h2>
선택자A + 선택자B
h1 + h2 {color: red;}
<h1>형제1</h1>
<h2>형제2</h2>
<h2>형제3</h2>
<h2>형제4</h2>
:pseudo-class {
property: value;
}
특정 상황
에 따라 스타일을 정의할 때 사용input:focus { background-color: red; }
<input type="text" placeholder="focus me">
❓ 참조
:first-child
: 첫 번째 자식 요소 선택
:last-child
: 마지막 자식 요소 선택
:focus
: 현재 입력 초점을 가진 요소에 적용
:hover
: 마우스 포인터가 있는 요소에 적용
:link
: 하이퍼 링크이면서 아직 방문하지 않은 앵커
:visited
: 이미 방문한 하이퍼링크를 의미
::pseudo-element {
property: value;
}
위치
에 스타일을 적용하기 위해 사용h1::before {
content: 'Hello';
color: red;
}
<h1>world</h1>
❓ 참조
::before
: 가장 앞에 요소를 삽입
::after
: 가장 뒤에 요소를 삽입
::first-line
: 요소의 첫 번째 줄에 있는 텍스트
::first-letter
: 블록 레벨 요소의 첫 번째 문자