[CSS][Sass] Syntax | 02. Variables

2025. 9. 30. 10:29·Frontend/CSS
728x90
Sass variables are simple: you assign a value to a name that begins with $, and then you can refer to that name instead of the value itself. But despite their simplicity, they’re one of the most useful tools Sass brings to the table. Variables make it possible to reduce repetition, do complex math, configure libraries, and much more.

 

Sass에서의 변수는 그 이름 앞에 $를 붙여 선언할 수 있습니다. 변수를 호출할 때도 동일하게 그 앞에 $를 붙입니다.

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

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

Sass의 변수는 CSS 변수와는 달리 선언적(declarative)이지 않기 때문에, 중간에 값을 바꾸어도 그 전에 변수를 호출한 곳에서는 계속 이전에 쓰던 값을 사용하게 됩니다.

// 처음에는 value 1을 사용하다가
$variable: value 1;
.rule-1 {
  value: $variable;
}

// 중간에 value 2로 바꾸어도
$variable: value 2;
.rule-2 {
  value: $variable;
}

// * build * //

// 빌드한 CSS에서는 .rule-1에 여전히 value 1을 사용합니다.
.rule-1 {
  value: value 1;
}

.rule-2 {
  value: value 2;
}

기본값(Default Values)

변수의 값을 사용자가 새로운 값으로 덮어쓰게 할 수도 있습니다.

 

이 경우 덮어쓰고자 하는 변수의 값 다음에 !default로 표시해줍니다.

 

만약 덮어쓰기를 하지 않는다면, 해당 변수의 값은 원래 선언한 값이 됩니다.

// _library.scss
$black: #000 !default;
$border-radius: 0.25rem !default;
$box-shadow: 0 0.5rem 1rem rgba($black, 0.15) !default;

code {
  border-radius: $border-radius;
  box-shadow: $box-shadow;
}

해당 변수들에 값을 덮어쓰려면, 그 변수들이 선언된 파일을 불러와야 합니다.

 

이 때 @use <파일 url> with ( ) 구문을 사용합니다.

// style.scss
@use 'library' with (
  $black: #222,
  $border-radius: 0.1rem
);

위의 경우 black과 border-radius의 값을 새로운 값으로 덮어 썼습니다.

 

box-shadow는 덮어쓰지 않았으므로, 원래 선언되었던 '0 0.5rem 1rem rgba($black, 0.15)' 값이 사용됩니다.

728x90

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

[CSS][Sass] Syntax | 01. Mixin & Include  (1) 2025.09.29
[CSS][Sass] Sass & SCSS에 대해서  (0) 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 | 01. Mixin & Include
  • [CSS][Sass] Sass & SCSS에 대해서
  • [CSS][Tailwind] 기타 Tailwind를 사용할 때 알아두면 좋은 것들
  • [CSS][Tailwind] Tailwindcss에서 theme 사용하기
Rayi
Rayi
  • Rayi
    아카이브
    Rayi
  • 전체
    오늘
    어제
    • 분류 전체보기 (298)
      • CS (40)
        • CV (2)
        • PS (37)
      • Reveiw (19)
        • Paper (19)
        • Github (0)
      • ML (13)
        • Pytorch (5)
      • Language (72)
        • Python (21)
        • JavaScript (32)
        • TypeScript (16)
        • C++ (3)
      • IDE (13)
      • Git (13)
      • Frontend (77)
        • React (8)
        • ReactNative (6)
        • SolidJS (20)
        • CSS (12)
      • Backend (47)
        • DB (18)
        • Node.js (11)
        • Python (3)
      • UI (3)
      • Automation (1)
  • 블로그 메뉴

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

  • 공지사항

  • 인기 글

  • 태그

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

  • 최근 글

  • 250x250
  • hELLO· Designed By정상우.v4.10.5
Rayi
[CSS][Sass] Syntax | 02. Variables
상단으로

티스토리툴바