1. CSS
CSS는 HTML 문서의 레이아웃과 스타일을 지정하는 데 사용되는 스타일 시트 언어입니다.
웹 페이지의 시각적 요소인 색상, 글꼴, 여백 등을 설정할 수 있으며 브라우저가 이해할 수 있는 기본 스타일링 언어로 전 세계적으로 널리 사용되고 있습니다.
장점 | 단점 |
|
|
사용 예시
.header {
background-color: #333;
color: #fff;
padding: 10px;
}
.header h1 {
font-size: 24px;
}
2. SASS (Syntactically Awesome Style Sheets)
SASS는 CSS의 단점을 보완하고자 만든 스타일링 언어로 CSS에 없는 변수, 중첩, 조건문, 반복문 등을 추가하여 복잡한 스타일 작업을 쉽게 할 수 있게 합니다. SASS는 간결한 구문을 사용하며 CSS로 컴파일되어 웹 브라우저에서 사용됩니다.
생긴 배경
CSS는 웹 스타일링을 관리하기에 간단하고 편리했지만 프로젝트가 커지면서 복잡한 스타일링 작업을 효과적으로 처리하기에는 한계가 있었습니다. 이를 해결하기 위해 2006년에 개발자 Hampton Catlin이 CSS를 확장한 형태로 SASS를 개발했습니다. SASS는 CSS의 한계를 보완하기 위해 변수를 사용할 수 있도록 하고 중첩, 조건문, 반복문, 믹스인(Mixin) 등의 기능을 추가했습니다.
장점 | 단점 |
|
|
예시
$primary-color: #333;
.header
background-color: $primary-color
color: #fff
padding: 10px
h1
font-size: 24px
3. SCSS (Sassy CSS)
SCSS는 SASS의 새로운 문법으로 기존 CSS의 문법을 그대로 유지하면서 SASS의 기능을 확장한 버전입니다. CSS 파일처럼 중괄호 { }와 세미콜론 ;을 사용하면서도 SASS의 변수, 중첩, 믹스인 등을 사용할 수 있습니다. 결과적으로 SCSS는 기존 CSS와의 호환성을 극대화하며 SASS의 모든 기능을 제공합니다.
생긴 배경
SASS는 CSS에 대한 확장 기능을 제공했지만 CSS와는 구문이 달라서 기존 CSS 코드를 SASS로 변환하는 데 어려움이 있었습니다. 2009년에 SASS 3.0 버전에서 SCSS(Sassy CSS)라는 새로운 구문이 추가되었는데 이는 CSS의 기존 문법과 호환되도록 만들어졌습니다. CSS를 그대로 가져와서 SASS의 기능을 사용할 수 있도록 확장된 문법으로 SASS의 기능은 그대로 유지하면서도 CSS의 문법을 사용하므로 CSS와의 호환성이 강화되었습니다.
장점 | 단점 |
|
|
예시
$primary-color: #333;
.header {
background-color: $primary-color;
color: #fff;
padding: 10px;
h1 {
font-size: 24px;
}
}
차이점 요약
항목 | CSS | SASS | SCSS |
구문 | 기본 CSS 문법 | 간단한 구문, 중괄호와 세미콜론이 없음 | CSS와 동일한 구문, 중괄호와 세미콜론 사용 |
변수 | 지원하지 않음 | 지원 | 지원 |
중첩 | 지원하지 않음 | 지원 | 지원 |
재사용성 | 제한적 | 믹스인(Mixin), 함수 등을 통해 재사용 가능 | 믹스인(Mixin), 함수 등을 통해 재사용 가능 |
컴파일 | 필요 없음 | CSS로 컴파일 필요 | CSS로 컴파일 필요 |
브라우저 호환 | 모든 브라우저에서 지원 | 직접 지원되지 않음 | 직접 지원되지 않음 |
용도 | 간단한 스타일 적용 | 대규모 프로젝트에서 복잡한 스타일 관리 | CSS와의 호환성이 필요한 대규모 프로젝트 |