반응형
이번 포스팅에서는 [CSS 선택자 심화] 파트의 세부 주제인 상태와 순서를 감지하는 가상 클래스에 대하여 상세히 알아보겠습니다.

1. nth-child의 수식 계산 완벽 이해
표나 리스트에서 얼룩말 무늬(Zebra striping)를 넣거나, 특정 주기로 디자인을 다르게 줄 때 nth-child(an + b) 수식이 유용합니다.
:nth-child(odd),:nth-child(even): 홀수, 짝수 선택:nth-child(3n): 3, 6, 9... 번째 선택 (3의 배수):nth-child(3n + 1): 1, 4, 7... 번째 선택 (3으로 나눴을 때 나머지가 1)- 노하우: 앞의 3개만 선택하기:
:nth-child(-n + 3)(-1, 0, 1, 2, 3이 나오지만 인덱스는 1부터이므로 1, 2, 3번째만 적용됨)
2. 폼(Form) UI의 구원자: :focus-within
부모 요소(Form이나 Input 감싸는 Div)에 :focus 효과를 주고 싶을 때 사용합니다. 자식 중 어느 하나라도 포커스를 받으면 부모에게 스타일이 적용됩니다. JS 이벤트 리스너가 필요 없어집니다!
.search-box {
border: 1px solid #ccc;
transition: border-color 0.3s;
}
/* 돋보기 버튼이나 input 창 내부 아무 곳이나 클릭(포커스)되면 부모의 테두리 색상 변경 */
.search-box:focus-within {
border-color: #3b82f6;
box-shadow: 0 0 0 3px rgba(59,130,246,0.2);
}
지금까지 nth-child 수학 수식과 :focus-within 상태 클래스에 대해 살펴보았습니다. 가상 클래스는 CSS만으로 반응형 인터랙션을 구현하는 가장 우아한 방법입니다.
반응형
'StyleSheet > CSS' 카테고리의 다른 글
| [CSS] 그림자와 필터 (Shadows & Filters) (0) | 2026.07.20 |
|---|---|
| [CSS] 가상 요소(Pseudo-elements) 활용과 디자인 데코레이션 (0) | 2026.07.20 |
| [CSS] 미디어 쿼리(Media Queries)와 모바일 퍼스트 전략 (0) | 2026.07.20 |
| [CSS] Grid (2) - auto-fit과 반응형 그리드 실전 (0) | 2026.07.20 |
| [CSS] Grid (1) - 2차원 레이아웃의 시작과 fr 단위 (0) | 2026.07.20 |