[CSS][Sass] Sass & SCSS에 대해서

2025. 9. 29. 21:37·Frontend/CSS

Sass

Sass(Syntactically Awesome Style Sheets)는 CSS를 좀 더 쉽게 다루기 위해 개발된 전처리기(preprocessor) 입니다.

 

CSS는 단순하지만, 프로젝트의 규모가 커질 수록 쓰기 불편한 점이 많았습니다.

 

특정 색상이나 선택자가 반복해서 나타나거나, 조건문 또는 반복문 등의 흐름제어가 불가능 한 것, 그리고 변수를 지원하지 않는 것 등이 그 예입니다.

 

Sass는 이런 문제점들을 보완하고자 기존 CSS에 추가적인 문법을 추가하였습니다.

$main-color: #3498db

body
  color: $main-color
  background: white

Sass는 빌드할 때 CSS로 변환되기 때문에, 기존에 존재하던 CSS 파일도 확장자만 바꾸면 Sass 파일로서 사용할 수 있습니다.

SCSS

SCSS(Sassy CSS)는 Sass를 적용한 CSS 문법으로, CSS에서 원래 사용하던 중괄호를 사용하여 Sass의 문법을 좀 더 CSS 친화적으로 바꾼 형식입니다.

$main-color: #3498db;

body {
  color: $main-color;
  background: white;
}

즉, Sass와 기능상으로는 완벽히 같으면서도 CSS처럼 사용할 수 있습니다.

 

현재는 Sass보다 SCSS가 표준으로 사용되고 있다고 합니다.

  Sass SCSS
확장자 .sass .scss
문법 구조 들여쓰기 기반
세미콜론(;) 없음
CSS 스타일 따라감
중괄호 사용
채용률 낮음 높음

 

몇 가지 Sass의 추가 기능

※ 아래 코드는 모두 SCSS를 기준으로 작성되었습니다.

1. 변수 (Variables)

$base-color: #c6538c;
$border-dark: rgba($base-color, 0.88);

.alert {
  border: 1px solid $border-dark;
}

2. 중첩 (Nesting)

nav {
  ul {
    margin: 0;
    padding: 0;
    list-style: none;
  }

  li { display: inline-block; }

  a {
    display: block;
    padding: 6px 12px;
    text-decoration: none;
  }
}

3. 믹스인 (Mixins)

@mixin reset-list {
  margin: 0;
  padding: 0;
  list-style: none;
}

@mixin horizontal-list {
  @include reset-list;

  li {
    display: inline-block;
    margin: {
      left: -2px;
      right: 2em;
    }
  }
}

nav ul {
  @include horizontal-list;
}

4.모듈 (Built-In Modules)

@use "sass:color";

.button {
  $primary-color: #6b717f;
  color: $primary-color;
  border: 1px solid color.scale($primary-color, $lightness: 20%);
}

 

Sass에 대한 자세한 문법은 아래 공식 문서에서 확인할 수 있습니다.

https://sass-lang.com/documentation/

 

Sass: Documentation

Sass is a stylesheet language that’s compiled to CSS. It allows you to use variables, nested rules, mixins, functions, and more, all with a fully CSS-compatible syntax. Sass helps keep large stylesheets well-organized and makes it easy to share design wi

sass-lang.com

728x90

'Frontend > CSS' 카테고리의 다른 글

[CSS][Sass] Syntax | 02. Variables  (0) 2025.09.30
[CSS][Sass] Syntax | 01. Mixin & Include  (1) 2025.09.29
[CSS][Tailwind] 기타 Tailwind를 사용할 때 알아두면 좋은 것들  (0) 2025.09.07
[CSS][Tailwind] Tailwindcss에서 theme 사용하기  (0) 2025.04.28
[CSS] Tailwind CSS에 대해서  (0) 2025.02.08
'Frontend/CSS' 카테고리의 다른 글
  • [CSS][Sass] Syntax | 02. Variables
  • [CSS][Sass] Syntax | 01. Mixin & Include
  • [CSS][Tailwind] 기타 Tailwind를 사용할 때 알아두면 좋은 것들
  • [CSS][Tailwind] Tailwindcss에서 theme 사용하기
Rayi
Rayi
  • Rayi
    아카이브
    Rayi
  • 전체
    오늘
    어제
    • 분류 전체보기 (276)
      • CS (40)
        • CV (2)
        • PS (34)
      • Reveiw (18)
        • Paper (18)
        • Github (0)
      • ML (8)
        • Pytorch (5)
      • Language (59)
        • Python (8)
        • JavaScript (32)
        • TypeScript (16)
        • C++ (3)
      • IDE (12)
      • Git (13)
      • Frontend (77)
        • React (8)
        • ReactNative (6)
        • SolidJS (20)
        • CSS (12)
      • Backend (44)
        • DB (18)
        • Node.js (11)
      • UI (3)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    CSS
    ts
    ReactNative
    GAN
    backend
    PyTorch
    modal
    SOLID
    deploy
    ps
    react
    frontend
    postgresql
    Three
    API
    Express
    mongo
    Git
    CS
    PRISMA
    nodejs
    expo
    js
    review
    DB
    python
    ML
    vscode
    figma
    CV
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.5
Rayi
[CSS][Sass] Sass & SCSS에 대해서
상단으로

티스토리툴바