Stylesheet
웹 개발에서 스타일시트는 웹 페이지의 시각적 표현을 정의하는 중요한 기술.
스타일시트는 HTML 문서의 레이아웃, 디자인, 시각적 효과를 제어하는 규칙들의 집합이다.
스타일시트는 웹 페이지의 모든 시각적 요소를 정의한다.
기본적인 CSS 스타일시트의 예시:
스타일시트는 시간이 지나면서 더욱 발전했고, 현재는 여러 가지 고급 기능을 제공하는 다양한 방식이 존재한다.
프리프로세서(Preprocessor) 스타일시트의 예시를 보자:
|
|
스타일시트의 주요 발전 단계
- 기본 CSS: 웹의 기초가 되는 스타일링 언어. 간단하고 직관적이지만 대규모 프로젝트에서는 한계가 있다.
- CSS 프리프로세서: SASS, LESS와 같은 도구들이 등장하여 변수, 함수, 중첩 규칙과 같은 프로그래밍적 기능을 제공하기 시작했다.
- PostCSS: 현대적인 CSS 처리 도구로, 플러그인을 통해 다양한 기능을 제공한다. 브라우저 호환성 문제를 해결하고 최신 CSS 기능을 안전하게 사용할 수 있게 해준다.
Stylesheet의 유형
특성 | CSS | Sass | Less | PostCSS |
---|---|---|---|---|
언어 타입 | 순수 스타일시트 | 전처리기 | 전처리기 | 후처리기 |
실행 환경 | 브라우저 | Node.js/Ruby | Node.js/브라우저 | Node.js |
문법 특징 | 기본 CSS 문법 | SCSS/Sass 두 가지 문법 지원 | CSS와 유사한 확장 문법 | CSS와 동일한 문법 |
변수 지원 | CSS 변수(Custom Properties) | $ 기호로 변수 선언 | @ 기호로 변수 선언 | CSS 변수 사용 |
중첩 규칙 | 미지원 | 지원 (깊은 중첩 가능) | 지원 (깊은 중첩 가능) | 플러그인으로 지원 |
믹스인 | 미지원 | @mixin과 @include | .mixin() 문법 | 플러그인으로 지원 |
함수 | 제한적 지원 | 다양한 내장 함수 제공 | 다양한 내장 함수 제공 | 플러그인으로 지원 |
조건문/반복문 | 미지원 | 완벽 지원 | 부분 지원 | 플러그인으로 지원 |
모듈화 | @import (성능 이슈) | @import/@use | @import | import 최적화 지원 |
확장성 | 제한적 | 커스텀 함수/믹스인 | 커스텀 함수/믹스인 | 플러그인 시스템 |
학습 곡선 | 낮음 | 중간 | 낮음-중간 | 중간 |
컴파일 속도 | 불필요 | 보통 | 빠름 | 매우 빠름 |
생태계 | 매우 큼 | 매우 큼 | 큼 | 큼 (성장 중) |
브라우저 지원 | 모든 브라우저 | 컴파일 후 CSS | 컴파일 후 CSS | 컴파일 후 CSS |
디버깅 | 쉬움 | 소스맵 지원 | 소스맵 지원 | 소스맵 지원 |
주요 장점 | 표준, 범용성 | 강력한 기능, 풍부한 생태계 | 쉬운 학습, 브라우저 실행 | 모듈화, 높은 성능 |
주요 단점 | 기능 제한적 | 복잡성, 컴파일 필요 | 기능 제한, 성숙도 | 설정 복잡성 |