terminal
Weekly Digest // STYLING — Week 19-2026
paletteWeekly Report

Tailwind CSS v4.3: Scrollbar, 새 색상 등 — 2026년 19주 CSS 및 스타일링

CSS architecture, utility frameworks, and animation performance

calendar_todaysummarizeWeek 19-2026
프레임워크

Tailwind CSS v4.3: Scrollbar, 새 색상 등

Tailwind CSS v4.2v4.3이 하나의 블로그 포스트로 함께 공개되었으며, 두 릴리스 분량의 신규 기능을 다룹니다. v4.2에서는 mauve, olive, mist, taupe 네 가지 중립 색상 팔레트, PostCSS 방식 대비 빌드 속도를 2배 이상 단축하는 전용 webpack 플러그인, pbs-*, mbs-*, inline-size, block-size, inset-s-*, inset-e-* 등 확장된 논리 속성 유틸리티, font-feature-settings를 제어하는 font-features-* 유틸리티가 추가되었습니다. v4.3에서는 scrollbar-width(scrollbar-auto, scrollbar-thin, scrollbar-none), scrollbar-color(scrollbar-thumb-*, scrollbar-track-*), scrollbar-gutter를 포괄하는 스크롤바 유틸리티, cqb/cqh 단위를 위한 @container-size 유틸리티, CSS zoom 속성용 zoom-* 유틸리티, tab-sizetab-* 유틸리티, CSS 내 스택 및 복합 @variant 지원, @utility--default()를 통한 기본값 지정 기능이 도입되었습니다.

Tailwind CSS v4.3: Scrollbar, 새 색상 등
Read Articlearrow_forward
Video · 챌린지

프론트엔드 개발자의 CSS Battle 도전 — 10분 챌린지

Kevin Powell은 자체 10분 타이머 아래 CSS Battle 챌린지 251, 252, 253을 풀어가며 실시간 의사결정 과정을 설명합니다. 챌린지 251은 상단 두 모서리에 border-radius: 100vw를 적용한 스택 div와 장식 줄무늬용 pseudo-element를 사용하고 margin-inline: auto로 중앙 정렬하여 약 5분 40초100% 달성합니다. 챌린지 252는 단일 div에 box-shadow spread 레이어(0 0 0 20px, 0 0 0 50px, 0 0 0 70px)와 절반 높이 ::after로 동심원을 구성해 99.9%를 기록합니다. 챌린지 253은 양쪽 transparent border(border-top-colorborder-bottom-color만 설정)와 rotate: -45deg로 다이아몬드 모양을 만들고, bodyhtml의 positioned pseudo-element 네 개로 끝단 원형 캡을 구현해 7분 58초100% 달성합니다. border-box 사이징의 미묘한 차이, box-shadow 단축 속성의 trailing comma 금지 규칙, 수동 left 오프셋 대신 insetmargin-inline auto가 더 깔끔했을 것이라는 회고도 다룹니다.

AI_INFOGRAPHIC
프론트엔드 개발자의 CSS Battle 도전 — 10분 챌린지 — infographicWATCH_VIDEOarrow_forward
Article · 반응형READ TIME: 4m

Media Query Range Syntax

Ahmad Shadeed는 min-width/max-width 미디어 쿼리를 Media Queries Level 4 범위 구문으로 전환해야 하는 실질적인 이유를 제시합니다. 기존 방식은 max-width: 300pxmin-width: 300px가 같은 브레이크포인트를 동시에 충족해 요소가 함께 사라지는 미묘한 버그를 유발합니다. 범위 구문은 이 모호함을 width <= 300px, width > 300px처럼 가독성 높은 비교 연산자로 대체하여 1px 오프셋을 수동으로 조정할 필요를 없앱니다. 양쪽 경계가 있는 범위는 (300px <= width <= 500px) 하나의 표현식으로 두 개의 and 체인 쿼리를 대체합니다. 동일한 구문은 @media@container로 바꾸어 컨테이너 쿼리에도 적용됩니다. 브라우저 지원은 2023년 3월부터 Baseline 안정 상태로, 현재 프로덕션에 적용할 수 있습니다.

READ_FULL_LOGarrow_forward
Article · 애니메이션READ TIME: 8m

CSS로 수학하기: Layout과 Animation을 위한 삼각함수

CSS는 2023년부터 sin(), cos(), atan2()를 지원하며(Baseline, Chrome 111+, Firefox 108+, Safari 15.4+), JavaScript 없이 원형, 호, 나선, 포인터 레이아웃을 구현할 수 있습니다. 핵심 패턴은 요소별 --angle 커스텀 속성을 cos()sin()에 전달해 컨테이너 중심으로부터의 translate 오프셋을 계산합니다. 회전 애니메이션에서는 컨테이너가 앞으로 회전하는 동안 각 자식 요소가 animation-delayreverse 키워드로 역회전하여 시각적으로 바른 자세를 유지합니다. --angle을 직접 트랜지션하려면 syntax: angle을 지정한 @property 등록이 필요하며, 타입이 없으면 브라우저가 보간을 조용히 무시합니다. 위치를 결정하는 --i 인덱스 변수는 calc(var(--i) * 80ms)로 입장 애니메이션의 stagger 지연과 hsl()을 통한 색상 설정에도 동일하게 활용됩니다. 호 내비게이션에서는 시작/끝 각도 쌍이 전체 원을 대체하고, atan2(-y, -x)로 요소가 안쪽을 향하게 하며, 단일 mousemove 리스너가 --mx/--my를 전달하면 CSS가 열두 개의 회전 각도를 클라이언트 측에서 계산합니다.

READ_FULL_LOGarrow_forward
Article · CSS 기법READ TIME: 9m

CSS — 상상할 수 있는 가장 멋진 API 기법

이 글은 CSS 커스텀 프로퍼티 해킹인 Space Toggle 기법을 N 상태 선택기로 업그레이드한 Cyclic Space Toggles를 소개합니다. 표준 Space Toggle은 스페이스 문자로 설정된 커스텀 프로퍼티가 truthy(var() 폴백 차단)이고 initial이 falsey(IACVT — Invalid At Computed Value Time)인 특성을 이용해 조건부 속성 적용을 구현합니다. Cyclic Space Toggles는 여러 inverted toggle을 연결하여 --select 변수에 --option-* 참조의 조합을 설정하면 해당 옵션만 initial로 전환하고 나머지는 space 상태를 유지합니다. 그 결과 boolean 전용 단축 API가 탄생합니다. CSS 라이브러리 사용자는 단일 선언으로 여러 기능 플래그를 활성화할 수 있습니다(--bp-fluidity: var(--fluid-xxs) var(--fluid-sm) var(--fluid-lg)). 저자는 자신의 breakpoint-system 라이브러리에서의 실제 사용 사례를 시연하고, Tailwind 클래스 목록을 cyclic toggle 기반 CSS API로 대체하는 아이디어를 제안합니다. 전 세계 브라우저 지원율은 약 95~97%로 언급됩니다.

READ_FULL_LOGarrow_forward
Article · 모바일READ TIME: 8m

safe-area-inset으로 Mobile-safe Layout 구축하기

현대 스마트폰의 노치, 다이나믹 아일랜드, 카메라 펀치홀, 홈 인디케이터 제스처 영역은 고정된 UI 요소를 가릴 수 있습니다. 브라우저는 이 수치를 env() CSS 함수를 통해 safe-area-inset-top, safe-area-inset-right, safe-area-inset-bottom, safe-area-inset-left로 제공하며, 모두 Baseline 광범위 지원 상태입니다. 완전한 엣지-투-엣지 렌더링을 위해서는 먼저 meta viewport 태그에 viewport-fit=cover를 추가한 뒤 env() 값을 padding이나 positioning에 적용해야 합니다. 기본 여백이 없으므로 calc(env(safe-area-inset-bottom) + 1rem) 형태로 여유 공간을 추가합니다. 또한 브라우저 크롬이 축소되어도 안정적인 예약 영역을 유지하는 Chromium 전용 신기능 safe-area-max-inset-*도 다루지만, 아직 Safari와 Firefox에서는 지원되지 않습니다. Chrome DevTools 반응형 뷰는 항상 0을 반환하므로, 기기별 올바른 inset 값을 에뮬레이션하는 Polypane 활용을 권장합니다.

READ_FULL_LOGarrow_forward
Article · 팝오버READ TIME: 4m

Popover Backdrop Anti-pattern

Remy Sharp는 모달처럼 보이는 오버레이를 구현할 때 dialog 요소 대신 HTML popover 속성과 ::backdrop을 함께 사용하는 데서 발생하는 보안 관련 UX 버그를 문서화합니다. popover는 포커스나 포인터 이벤트를 가두지 않기 때문에, ::backdrop을 클릭하면 오버레이가 사라지는 것처럼 보이지만 실제로는 DOM에서 그 아래에 있는 요소로 클릭이 통과합니다. Sharp는 클릭재킹 방식의 데모로 이를 증명합니다. popover 뒤에 전체 화면 숨겨진 버튼을 배치하면, 사용자가 dismiss를 위해 클릭할 때 해당 버튼이 실행됩니다. 올바른 해결책은 ::backdrop이 클릭을 완전히 차단하는 dialog 요소를 사용하는 것입니다. Sharp는 팝오버가 강제할 수 없는 모달 의도를 불투명하거나 흐린 backdrop이 암시한다는 점에서 popover::backdrop을 지원해야 하는지 자체를 문제 삼으며, Firefox의 solid backdrop 배경 버그도 제보되었음을 언급합니다.

READ_FULL_LOGarrow_forward
summarizeDigest_Summary

이번 주 스타일링 분야는 Tailwind CSS가 중심이었습니다. v4.2v4.3이 동시에 공개되었는데, v4.2에서는 mauve, olive, mist, taupe 네 가지 중립 색상 팔레트, PostCSS 방식 대비 빌드 속도를 2배 이상 단축하는 전용 webpack 플러그인, 그리고 확장된 논리 속성 유틸리티가 추가되었습니다. v4.3에서는 scrollbar-width, scrollbar-color, scrollbar-gutter를 포괄하는 스크롤바 유틸리티, cqb/cqh 단위를 위한 @container-size 유틸리티, CSS zoom 속성용 zoom-* 유틸리티가 도입되었고, CSS 내 스택·복합 @variant 지원과 @utility--default() 기본값 지정 기능도 추가되었습니다.

레이아웃과 브라우저 기본 기능을 다룬 글도 여럿 눈에 띄었습니다. Ahmad Shadeed는 2023년 3월부터 Baseline 안정 상태인 Media Queries Level 4 범위 구문(width <= 300px, 300px <= width <= 500px)으로 즉시 전환할 것을 권장하며, 기존의 이중 브레이크포인트 모호성 버그를 해소할 수 있다고 설명합니다. Carmen Ansio는 Chrome 111 / Firefox 108 / Safari 15.4부터 지원되는 sin(), cos(), atan2() CSS 삼각함수를 활용해 JavaScript 없이 원형·호·나선 레이아웃을 구현하는 방법과 --angle 트랜지션을 위한 @property 등록의 필요성을 시연했습니다. Polypane 가이드는 노치를 고려한 모바일 레이아웃을 위한 viewport-fit=coverenv() safe-area-inset-* 사용법, 그리고 Chromium 전용 safe-area-max-inset-*도 다루었습니다.

두 편의 짧은 글도 주목할 만합니다. Remy Sharp는 dialog 대신 popover::backdrop을 모달 대용으로 쓸 때 포인터 이벤트가 차단되지 않아 클릭재킹에 취약하다는 보안 인접 문제를 문서화했습니다. 또 다른 글에서는 Space Toggle 해킹의 확장인 Cyclic Space Toggles를 소개하며, JavaScript 없이 약 95–97%의 브라우저에서 N 상태 boolean 단축 API를 구현하는 방법을 설명했습니다.

Key Takeaways
  • Tailwind CSS v4.3은 scrollbar-width, scrollbar-color, scrollbar-gutter 유틸리티와 cqb/cqh 단위를 위한 @container-size를 네이티브로 지원합니다. 한 번에 모두 활용하려면 지금 업그레이드하세요.
  • Media Queries Level 4 범위 구문(width <= 300px, 300px <= width <= 500px)은 2023년 3월부터 Baseline 안정 상태로, 이중 브레이크포인트 버그를 없애 줍니다. 지금 바로 전환하세요.
  • popover와 ::backdrop을 모달 대용으로 사용하면 포인터 이벤트가 차단되지 않아 클릭재킹 위험이 있습니다. ::backdrop이 클릭을 올바르게 차단하는 dialog를 사용하세요.