피드로 돌아가기
CSS moderno per contenuti dinamici: lascia decidere lo stile ai dati (senza if in JavaScript)
Dev.toDev.to
Frontend

JS 조건문 제거 및 CSS Style Queries 기반의 선언적 UI 렌더링 구현

CSS moderno per contenuti dinamici: lascia decidere lo stile ai dati (senza if in JavaScript)

frontendfacile.it2026년 6월 19일4intermediate

Context

동적 데이터 기반 UI 구현 시 JavaScript 내부에 시각적 결정 로직이 혼재되어 데이터와 프레젠테이션 층이 강결합된 구조적 한계 존재. 이로 인해 인터페이스 유지보수 비용이 증가하고 코드 복잡도가 상승하는 문제 발생.

Technical Solution

  • JavaScript를 단순 데이터 전송 계층으로 제한하여 DOM에 Raw Data를 data-attribute 형태로 주입
  • CSS attr() 함수를 통해 data-attribute 값을 Typed Custom Properties로 변환하여 타입 안정성 확보
  • @container style() 쿼리를 활용해 CSS 내부에서 데이터 값에 따른 스타일 분기 로직 처리
  • 다중 조건(예: 날씨 상태 및 강수량 수치)을 결합한 Composite Query로 복잡한 UI 변형 상태 제어
  • 비즈니스 로직과 시각적 구현의 완전한 분리를 통한 선언적 프론트엔드 아키텍처 설계

1. UI 분기 로직이 JS 내 `if/switch` 문으로 과도하게 작성되었는지 검토

2. 데이터 속성을 CSS Custom Properties로 매핑하여 스타일 레이어에서 제어 가능한지 분석

3. 수치 비교가 필요한 경우 `attr(... number)`와 같은 타입 지정 가능 여부 확인

4. 데이터-프레젠테이션 분리 원칙을 적용하여 컴포넌트 재사용성 검토

원문 읽기