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

· 3개월 전 · 255

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


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

 

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

 

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

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

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

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

퍼블리셔팁

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

+
분류 제목 글쓴이 날짜 조회
CSS 2개월 전 조회 315
CSS 2개월 전 조회 259
CSS 3개월 전 조회 256
CSS 3개월 전 조회 345
CSS 4개월 전 조회 364
기타 5개월 전 조회 487
CSS 6개월 전 조회 678
CSS 6개월 전 조회 697
CSS 7개월 전 조회 858
기타 7개월 전 조회 737
CSS 8개월 전 조회 902
CSS 8개월 전 조회 953
CSS 9개월 전 조회 844
CSS 9개월 전 조회 908
CSS 9개월 전 조회 735
1년 전 조회 920
HTML 1년 전 조회 1,192
CSS 1년 전 조회 1,086
2년 전 조회 1,574
HTML 2년 전 조회 1,020
CSS 2년 전 조회 1,336
CSS 2년 전 조회 1,264
HTML 2년 전 조회 1,790
기타 2년 전 조회 1,070
CSS 2년 전 조회 1,832
HTML 2년 전 조회 1,671
CSS 2년 전 조회 1,531
2년 전 조회 3,918
2년 전 조회 5,433
2년 전 조회 1,901