“우리는 너무 많은 자바스크립트를 사용해왔다. CSS는, 여전히 살아있다.”
한때 웹사이트는 모든 페이지가 HTML 파일 하나로 구성되어 있었습니다.
링크를 클릭하면 전체 페이지가 새로고침되고, 화면이 깜빡였죠.
그러던 어느 날, **SPA(Single Page Application)**라는 개념이 등장했습니다.
React, Vue, Angular 같은 프레임워크들이 SPA를 중심으로 성장했고, 우리는 그것을 **“현대적인 웹 개발 방식”**이라고 믿어왔습니다.
시간이 흐르며 문제가 드러나기 시작했습니다.
결국 많은 서비스가 **SSR(Server-Side Rendering)**이나 **MPA(Multi Page Application)**로 회귀하기 시작합니다.
그리고 이 시점에서, 우리는 **“모던 CSS”**를 다시 보게 됩니다.
과거에는 CSS만으로는 할 수 없는 게 많았습니다. 하지만 최근의 CSS는 다릅니다.
우리는 다음과 같은 것들을 JavaScript 없이도 구현할 수 있게 되었습니다.
| 기능 | 설명 |
|---|---|
:has() |
부모 선택자 기능 |
container queries |
요소 크기에 따라 스타일 다르게 적용 |
@layer, @scope |
스타일 구성과 관리 개선 |
accent-color, color-scheme |
UI 구성 요소 테마 자동 지원 |
scroll-snap, position: sticky |
부드러운 인터랙션 |
CSS 변수, calc() |
동적 스타일 구성 가능 |
| Grid, Flexbox | 강력한 레이아웃 시스템 |
이제 많은 UI 로직을 CSS만으로 처리할 수 있습니다.
SPA 중심의 개발 방식은 지나치게 JavaScript에 의존합니다.
하지만 웹 브라우저는 HTML + CSS만으로도 꽤 많은 걸 할 수 있게 진화했어요.
모던 CSS는 다음과 같은 점에서 강력합니다:
이제 우리는 새로운 질문을 던져야 합니다:
“정말 JavaScript로만 구성된 SPA가 최선인가?”
답은 점점 아니오 쪽으로 기울고 있습니다.
SPA는 많은 것을 가능하게 만들었지만, 모든 것에 SPA가 필요하지는 않습니다.
오히려 모던 CSS + HTML만으로도 가볍고 빠르며, 사용자에게 친화적인 웹을 만들 수 있습니다.
“CSS는 죽지 않았다. 오히려 이제야 진짜 쓰일 준비가 된 것이다.”
당신의 다음 프로젝트에서는, JavaScript를 줄이고 CSS의 가능성을 열어보세요.




