반응형
이번 포스팅에서는 [모던 웹 생태계] 파트의 세부 주제인 Sass 없이 구현하는 네이티브 중첩과 신규 선택자들에 대하여 상세히 알아보겠습니다.

1. 혁명적인 부모 선택자: :has()
오랜 시간 프론트엔드 개발자들이 "자식 요소를 품고 있는 부모"를 선택해 달라고 절규했던 것을 해결해 준 녀석입니다. 이제 Javascript의 개입 없이 부모를 꾸밀 수 있습니다.
/* 내부에 'img' 태그를 자식으로 가지고 있는 'figure' 카드에만 그림자 추가 */
figure:has(img) {
box-shadow: 0 4px 10px rgba(0,0,0,0.1);
padding: 0;
}
/* 체크박스가 체크되었을 때, 그 부모 컨테이너 배경색 바꾸기! */
.form-group:has(input[type="checkbox"]:checked) {
background-color: #e0f2fe;
}
2. 네이티브 CSS 중첩 (Nesting)
그동안 SCSS(Sass) 컴파일러를 써야만 가능했던 코드 중첩이 이젠 브라우저 기본 기능으로 내장되었습니다. 가독성이 매우 향상됩니다.
/* 최신 CSS Nesting 문법 */
.navbar {
display: flex;
background: #333;
/* 부모 요소의 자식들을 내부에 바로 작성 */
.nav-item {
color: white;
padding: 10px;
/* 자신(:hover)을 나타내는 '&' 앰퍼샌드 사용 */
&:hover {
color: #38bdf8;
}
}
}
지금까지 판도를 뒤엎은 :has() 선택자와 네이티브 Nesting에 대해 살펴보았습니다. 최신 스펙이지만 빠르게 브라우저 점유율을 높여가고 있으므로 반드시 숙지해야 할 필수 지식입니다.
반응형
'StyleSheet > CSS' 카테고리의 다른 글
| [CSS] CSS 디버깅 노하우 및 개발자 도구 100% 활용법 (0) | 2026.07.20 |
|---|---|
| [CSS] 실무 웹 레이아웃 패턴 모음 (Holy Grail, Sticky Footer) (0) | 2026.07.20 |
| [CSS] CSS 방법론 (BEM, OOCSS, SMACSS)과 설계 전략 (0) | 2026.07.20 |
| [CSS] CSS 렌더링 성능 최적화 (리플로우와 리페인트) (0) | 2026.07.20 |
| [CSS] 크로스 브라우징과 벤더 프리픽스 (Vendor Prefix) (0) | 2026.07.20 |