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

말이 아닌 행동으로: Progressive Enhancement로 구축한 리디자인 — 2026년 10주 CSS 및 스타일링

CSS architecture, utility frameworks, and animation performance

calendar_todaysummarizeWeek 10-2026
심층 분석

말이 아닌 행동으로: Progressive Enhancement로 구축한 리디자인

Brecht De Ruyte는 자신의 개인 사이트를 progressive enhancement의 살아있는 증거로 재설계했습니다. corner-shape squircle, :active-view-transition-type()을 활용한 방향 인식 cross-document view transition, @property 기반 hue 전환 scroll orb, JS 없이 anchor positioning으로 구현한 nav pill 하이라이트를 모두 @supports 블록 안에 넣어 폴리필 없이 작동시켰습니다. 타입 스케일은 clamp()로 viewport 크기에 따라 유연하게 조정되며, SCSS 대신 oklch와 color-mix()를 사용하는 순수 CSS로 전환했습니다. scroll-state query로 sticky 헤더의 그림자와 표시/숨김 동작을 Intersection Observer 없이 제어하고, animation-timeline: scroll(root)로 읽기 진행 바를 구현했습니다. data-vt 속성에서 view-transition-name을 직접 읽는 enhanced attr() 문법(Interop 2026 포함)과 ::scroll-button()을 이용한 CSS 전용 캐러셀도 활용했습니다.

말이 아닌 행동으로: Progressive Enhancement로 구축한 리디자인
Read Articlearrow_forward
Video · 튜토리얼16:41

CSS로 반사광 효과 만들기

Kevin Powell은 Dribbble에서 발견한 상하단 바의 그라디언트 글로우 디자인에서 영감을 받아, anchor positioning으로 따라다니는 nav 하이라이트에 반사형 글로우 효과를 구현하는 방법을 보여줍니다. 핵심 기법은 border-block-startborder-block-end로 효과를 수평 가장자리로 제한한 뒤, border 색상 대신 background 단축 속성에 padding-boxborder-box 두 레이어 radial gradient를 적용하는 것입니다 — border-image 없이 CSS gradient border를 만드는 것과 같은 방식입니다. Anchor positioning이 glow pseudo-element의 너비를 hover된 링크에 맞추고, calc()로 양쪽 40px을 더해 빛이 퍼지는 효과를 표현합니다. transition-delay를 분리하여 hover 진입 시 inset은 즉시 반응하고 opacity는 천천히 나타나며, 마우스가 벗어날 때는 opacity가 먼저 사라지고 700msinset이 초기화됩니다. 링크에 oklch box-shadow를 추가해 주변 요소에 반사광 느낌을 더했습니다.

AI_INFOGRAPHIC
CSS로 반사광 효과 만들기 — infographicWATCH_VIDEOarrow_forward
Article · 가이드READ TIME: 4m

CSS backdrop-filter 속성 가이드

backdrop-filter가 지원하는 모든 filter 함수 — blur(), brightness(), contrast(), grayscale(), hue-rotate(), invert(), saturate(), sepia(), opacity(), drop-shadow() — 를 정리한 간결한 참고 자료입니다. 핵심 규칙은 필터 적용 순서: 왼쪽에서 오른쪽으로 순차 적용되기 때문에 brightnesscontrastcontrastbrightness는 다른 결과를 냅니다. 브라우저 지원 현황도 다룹니다. opacity()Firefox Nightly에서만 안정적으로 작동하고 Chrome, Edge, Safari에서는 무시되며, drop-shadow()도 동일한 제한이 있습니다. 프로덕션 glassmorphism 효과에는 blur()brightness(), contrast(), grayscale()의 조합이 안전한 선택입니다. 효과를 표시하려면 반투명 배경이 실질적으로 필요하지만, 저자는 이를 제약이 아닌 의도적인 디자인 가이드로 설명합니다.

READ_FULL_LOGarrow_forward
Article · 테크닉READ TIME: 3m

화려한 프레임용 CSS 생성기(구불구불, 울퉁불퉁, 물결, 찢김 등)

Temani Afif의 CSS Generators 사이트에 fancy frame 생성기가 추가되었습니다. 이 도구는 squiggly, ragged, wavy, torn 등 유기적인 불규칙 테두리 형태를 clip-path: shape()만으로 생성합니다. 생성된 코드는 shape() 함수의 smooth 커브 명령어와 calc()로 퍼센트 오프셋과 픽셀 값을 혼합하여, SVG나 pseudo-element 없이 요소 크기에 맞게 스케일링되는 유기적인 테두리를 .frame 클래스 하나의 CSS 규칙으로 표현합니다. 이 도구는 Afif의 기존 생성기 컬렉션을 확장하며, 이전에는 코드 작성이 까다로웠던 기법을 클릭 인터페이스로 간편하게 활용할 수 있게 해줍니다.

READ_FULL_LOGarrow_forward
Article · 의견READ TIME: 8m

Tailwind CSS v4와 MUI, Ant Design, Styled Components 비교

이 아키텍처 비교 글은 Tailwind CSS v4, MUI, Ant Design, Styled Components를 단순한 스타일링 선택지가 아니라 스택의 서로 다른 레이어에서 작동하는 도구로 정의합니다. Tailwind v4의 주요 변경점은 단일 import 설정(@import "tailwindcss"), oklch 색상 값을 지원하는 CSS 우선 @theme 디렉티브, 그리고 전체 빌드 최대 5배, 증분 빌드 최대 100배 빠른 빌드 엔진 재작성입니다. MUI와 Ant Design은 접근성 기본값, 키보드 내비게이션, focus 관리 등 완전한 컴포넌트 생태계를 제공하지만, 고정된 DOM 구조와 커스텀 디자인 시스템과 충돌할 수 있는 디자인 언어를 강제합니다. Styled Components는 런타임 스타일 생성 오버헤드와 데드 스타일 잔류 문제가 있습니다. 맞춤 디자인 시스템과 멀티 프레임워크 이식성에는 Tailwind, 빠른 대시보드 구축에는 UI 키트, 스타일이 컴포넌트 props와 강하게 결합된 경우에만 CSS-in-JS를 권장합니다.

READ_FULL_LOGarrow_forward
Article · 테크닉READ TIME: 5m

CSS로 접힌 모서리 만들기

Kitty Giraudel세 개clip-path: polygon() 레이어로 구성된 애니메이션 접힌 코너 hover 효과를 상세히 설명합니다. 이미지는 --fold-start-x: 30%, --fold-start-y: 25%5점 다각형으로 잘리고, ::before 흰색 삼각형이 접힌 면을 표현하며, ::after 그림자 삼각형이 깊이감을 더합니다. 모든 레이어의 애니메이션은 400ms clip-path 트랜지션으로 처리되며, 트랜지션은 pseudo-element에 상속됩니다. filter: blur()clip-path호환되지 않기 때문에 부드러운 그림자를 위해 --index 커스텀 프로퍼티로 각각 반 픽셀씩 오프셋한 약 10개의 장식용 div를 쌓는 우회책이 필요합니다. 저자는 sibling-index()로 이 문제를 해결할 수 있지만 Firefox에서 아직 미지원임을 언급합니다.

READ_FULL_LOGarrow_forward
summarizeDigest_Summary

Brecht De Ruyte의 사이트 리디자인이 이번 주 피처 기사입니다. corner-shape를 이용한 squircle, 방향 인식 cross-document view transition, scroll-state query로 동작하는 sticky header, ::scroll-button()을 활용한 CSS 전용 캐러셀을 모두 @supports 안에서 폴리필 없이 구현한 progressive enhancement의 교과서입니다. Interop 2026의 enhanced attr() 문법을 포함해, 올바른 fallback 레이어링만 있으면 최신 기능을 오늘 바로 사용할 수 있음을 증명합니다.

창작 도구 측면에서 두 CSS 테크닉 글이 돋보였습니다. Kitty Giraudel의 접힌 코너 애니메이션은 세 개clip-path: polygon() 레이어와 filter: blur() 호환 불가 문제의 창의적 우회책을 보여주며, Temani Afif의 fancy frame 생성기는 클릭 인터페이스만으로 clip-path: shape() 기반 유기적 테두리를 만들어냅니다. backdrop-filter 가이드는 필터 함수의 순차 적용 순서와 opacity(), drop-shadow()의 브라우저 지원 현황을 명확히 정리합니다.

아키텍처 측면에서는 Tailwind CSS v4와 MUI, Ant Design, Styled Components를 대체재가 아닌 스택의 다른 레이어로 포지셔닝한 비교 글이 인상적입니다. Kevin Powell의 anchor positioning nav glow 튜토리얼은 oklch gradient와 border-box clipping을 활용한 분할 딜레이 트랜지션 기법으로 한 주를 마무리합니다.

Key Takeaways
  • scroll-state query, enhanced attr(), ::scroll-button() 등 Interop 2026 기능은 @supports 가드 뒤에서 오늘 바로 프로덕션에 사용할 수 있습니다. De Ruyte의 리디자인은 즉시 활용 가능한 레퍼런스입니다.
  • backdrop-filter 필터 함수는 왼쪽에서 오른쪽으로 순차 적용됩니다. opacity()와 drop-shadow()는 Firefox Nightly 외에서 불안정하므로, 크로스 브라우저 glassmorphism에는 blur(), brightness(), contrast(), grayscale()을 사용하십시오.
  • Tailwind v4는 커스텀 디자인 시스템과 멀티 프레임워크 이식성에 적합하고, MUI 같은 컴포넌트 라이브러리는 고정 DOM 구조가 허용되는 빠른 대시보드 구축에 알맞습니다.