CSS :has()를 활용한 “부모 기반 상태 제어(Parent State Control)”로 자바스크립트 의존도 줄이기

· 2개월 전 · 172

최근 주요 브라우저에서 :has() 선택자가 안정적으로 지원되면서, 기존에는 자바스크립트로만 가능했던 “부모 요소가 자식의 상태에 따라 스타일을 바꾸는 기능”을 CSS만으로 구현할 수 있게 되었습니다.


이 기능을 활용하면 토글 메뉴, 아코디언, 폼 검증 UI, 선택 상태 표시 등 많은 UI 상호작용을 JS 없이도 처리할 수 있어 퍼블리싱 구조가 훨씬 간결해지고 유지보수 난이도도 크게 줄어듭니다.

 

예를 들어 부모 .item 안에 있는 체크박스가 선택되었을 때 .item 자체에 스타일을 줄 수 있으며, 다음과 같이 구현합니다.

 

.item:has(input:checked) {
  background:#f5f5f5;
  border-color:#333;
}
 

이렇게 하면 체크박스·라디오·input 상태에 따라 부모 컨테이너의 스타일이 즉시 바뀌어, JS 없이도 다양한 상호작용 UI를 표현할 수 있습니다.

현대적인 UI 컴포넌트 제작에서 :has()는 필수 기술로 자리잡고 있으며, 앞으로 더 많은 인터랙션을 CSS만으로 처리하는 트렌드를 이끌고 있습니다.

|
댓글을 작성하시려면 로그인이 필요합니다.

퍼블리셔팁

퍼블리싱과 관련된 유용한 정보를 공유하세요. 질문은 상단의 QA에서 해주시기 바랍니다.

+
분류 제목 글쓴이 날짜 조회
CSS 1개월 전 조회 194
CSS 1개월 전 조회 175
CSS 2개월 전 조회 173
CSS 2개월 전 조회 272
CSS 2개월 전 조회 279
기타 4개월 전 조회 386
CSS 5개월 전 조회 591
CSS 5개월 전 조회 608
CSS 5개월 전 조회 751
기타 6개월 전 조회 658
CSS 6개월 전 조회 810
CSS 7개월 전 조회 862
CSS 8개월 전 조회 756
CSS 8개월 전 조회 806
CSS 8개월 전 조회 642
1년 전 조회 821
HTML 1년 전 조회 1,107
CSS 1년 전 조회 980
2년 전 조회 1,471
HTML 1년 전 조회 928
CSS 2년 전 조회 1,234
CSS 2년 전 조회 1,172
HTML 2년 전 조회 1,687
기타 2년 전 조회 953
CSS 2년 전 조회 1,741
HTML 2년 전 조회 1,581
CSS 2년 전 조회 1,428
2년 전 조회 3,805
2년 전 조회 5,290
2년 전 조회 1,804