Front-End의 모든것/CSS

CSS 전처리기가 뭐죠?

모두다레벨업 2024. 11. 6. 10:10
728x90
반응형

CSS 전처리기는 CSS 작성의 효율성을 높이고 유지보수를 용이하게 하는 도구로, 보통 CSS 문법을 확장해 다양한 기능을 제공합니다. CSS 전처리기를 사용하면 변수를 지정하거나, 반복 구조를 적용하거나, 코드를 더 체계적으로 작성할 수 있어 복잡한 스타일을 관리하기 편리합니다. 대표적인 전처리기로는 Sass, LESS, Stylus가 있으며, 각각 특유의 문법과 기능이 있습니다.

 


 

 

1. CSS 전처리기 종류

Sass (Syntactically Awesome Style Sheets)

  • 문법: .scss (Sassy CSS)와 .sass (Indentation Syntax) 형식을 모두 지원합니다.
  • 장점: 강력한 기능과 풍부한 생태계를 갖춘 가장 널리 쓰이는 전처리기입니다.
  • 사용 방법: 터미널을 통해 sass 명령어로 변환하거나, 빌드 도구 (Gulp, Webpack 등)를 사용해 자동으로 CSS로 컴파일할 수 있습니다.

LESS (Leaner Style Sheets)

  • 문법: 기존 CSS와 유사하며, Sass보다 간결한 구조를 가지고 있습니다.
  • 장점: 변수, 믹스인, 중첩 규칙 등의 기능을 제공하며, 문법이 간단해 빠르게 배울 수 있습니다.
  • 사용 방법: Node.js 기반의 lessc 명령어로 변환하거나, HTML 내에서 less.js 라이브러리를 통해 동적으로 컴파일할 수 있습니다.

Stylus

  • 문법: 선택적으로 세미콜론이나 괄호를 생략할 수 있어 매우 유연합니다.
  • 장점: 자유로운 문법으로 코드의 가독성을 높일 수 있으며, 기능이 다양합니다.
  • 사용 방법: Node.js 환경에서 stylus 명령어를 사용하거나 Gulp, Webpack 등을 통해 컴파일합니다.

2. 사용 방법

CSS 전처리기는 일반적으로 터미널에서 명령어를 입력하거나 빌드 도구를 통해 자동으로 CSS 파일로 컴파일하여 사용합니다. 기본적인 설치 및 사용법은 다음과 같습니다.

Sass 사용 예제

  1. 설치: npm install -g sass
  2. 컴파일: sass input.scss output.css
  3. 변수 사용:
/* scss */
$primary-color: #333;

body {
  color: $primary-color;
}

 

LESS 사용 예제

  1. 설치: npm install -g less
  2. 컴파일: lessc styles.less styles.css
  3. 믹스인 사용:
/* less */
.rounded-corners (@radius) {
  border-radius: @radius;
}

div {
  .rounded-corners(10px);
}

 

Stylus 사용 예제

  1. 설치: npm install -g stylus
  2. 컴파일: stylus input.styl -o output.css
  3. 중첩 사용:
/* styl */
body
  color #333
  font-family Arial

  h1
    color #555

 

3. 비교

전처리기문법주요 기능장점단점

Sass .scss, .sass 변수, 중첩, 믹스인, 상속 등 커뮤니티와 생태계가 큼, 복잡한 프로젝트에 적합 다소 학습 곡선이 있음
LESS .less 변수, 믹스인, 중첩 규칙 등 간단하고 익히기 쉬움 기능이 상대적으로 적음
Stylus .styl 자유 문법, 중첩, 함수, 루프 등 유연한 문법, 고급 사용자에게 적합 표준화가 부족하여 코드 일관성 유지가 어려울 수 있음

4. 장단점

장점

  • 코드 재사용성: 변수와 믹스인 덕분에 동일한 스타일을 여러 곳에서 재사용 가능
  • 유지보수 용이: 코드 구조가 잘 정리되어 있어 유지보수가 용이
  • 가독성 향상: 중첩 구조로 코드의 가독성이 높아짐
  • 반복 작업 최소화: 루프, 조건문 등을 활용해 반복 작업을 줄임

단점

  • 컴파일 시간: 전처리 과정을 거치기 때문에 컴파일 시간이 소요됨
  • 추가 학습 필요: CSS 외에 새로운 문법을 배워야 하므로 초반에 학습이 필요함
  • 디버깅 어려움: CSS로 컴파일된 후에는 원본 코드를 보기가 어려워 디버깅이 번거로울 수 있음

CSS 전처리기는 대규모 프로젝트나 복잡한 스타일 구조를 유지해야 하는 경우 유용하며, 팀의 요구와 스타일 가이드에 따라 적합한 전처리기를 선택해 사용하는 것이 좋습니다.

728x90
반응형