선택자(Selector) - 고급
앞서 소개한 선택자는 CSS를 적용하기 위한 가장 기본적인 선택자입니다.
이번에는 선택자를 결합해 보다 더 복잡한 선택자를 구성해 보겠습니다.
그룹화 선택자
그룹화 선택자는 여러 선택자를 결합하여 더 복잡한 선택자를 만들 수 있습니다.
- 콤마(,): 두 개 이상의 선택자를 결합합니다. 예를 들어
p, h1
은 모든p
요소와 모든h1
요소를 선택합니다.
CSS
/* 그룹화 선택자를 사용하여 p와 h1 요소에 동일한 스타일 적용 */ p, h1 { color: blue; /* 글자 색상을 파란색으로 설정 */ }
결합자
결합자는 선택자를 결합하여 더 복잡한 선택자를 만들 수 있습니다.
-
인접 형제 결합자 (+): 선택자의 바로 다음 형제를 선택합니다. 예를 들어
p + h1
은 모든p
요소의 다음 형제인 모든h1
요소를 선택합니다. -
일반 형제 결합자 (~): 선택자의 형제 중 하나를 선택합니다. 예를 들어
p ~ h1
은 모든p
요소의 형제 중 하나인 모든h1
요소를 선택합니다.
CSS
/* 인접 형제 결합자를 사용하여 p 요소 바로 뒤에 오는 h1 요소에 스타일 적용 */ p + h1 { color: red; /* 글자 색상을 빨간색으로 설정 */ } /* 일반 형제 결합자를 사용하여 p 요소 뒤에 오는 모든 h1 요소에 스타일 적용 */ p ~ h1 { border-bottom: 2px solid black; /* 아래쪽에 2px 두께의 검은색 테두리 추가 */ }
의사 선택자
의사 선택자는 특정 조건을 충족하는 요소를 선택합니다.
-
형태 의사 선택자: 요소의 형식을 지정합니다. 예를 들어
:empty
는 비어 있는 요소를 선택합니다. -
상태 의사 선택자: 요소의 상태를 지정합니다. 예를 들어
:hover
는 마우스가 요소 위에 있을 때 선택됩니다. -
관계 의사 선택자: 요소의 관계를 지정합니다. 예를 들어
:nth-child()
는 요소의 순서를 지정합니다.
CSS
/* 형태 의사 선택자를 사용하여 비어 있는 요소에 스타일 적용 */ :empty { background-color: lightgray; /* 배경색을 연한 회색으로 설정 */ } /* 상태 의사 선택자를 사용하여 마우스가 요소 위에 있을 때 스타일 적용 */ a:hover { text-decoration: underline; /* 밑줄 추가 */ color: orange; /* 글자 색상을 주황색으로 설정 */ } /* 관계 의사 선택자를 사용하여 ul의 세 번째 자식 요소에 스타일 적용 */ ul:nth-child(3) { font-weight: bold; /* 글꼴을 굵게 설정 */ }
코드의 별표로 강조된 부분을 따라 입력해 보세요.
Guidelines
AI Tutor
Publish
Design
Upload
Notes
Favorites
Help