실무에서 자주 사용하는 변수 구성 예시 - by. UXKM

  • Publishing
  • SCSS
  • 변수(Variables)로 스타일 관리하기
  • 실무에서 자주 사용하는 변수 구성 예시
요약 설명

실무 프로젝트에서는 체계적인 변수 구성이 중요합니다.
색상, 폰트, 여백뿐만 아니라 브레이크포인트, 그림자, 전환 효과 등도 변수로 관리하면 일관된 디자인 시스템을 구축할 수 있습니다.

이 페이지에서는 실제 프로젝트에서 사용하는 변수 구성을 카테고리별로 나누어 상세히 살펴보고, 각 변수가 어떻게 활용되는지 예시와 함께 알아봅니다.

색상 팔레트 구성

실무에서는 체계적인 색상 팔레트를 구성하여 사용합니다.
브랜드 색상, 상태 색상, 중성 색상을 명확히 구분하여 정의하면, 디자이너와 개발자가 같은 언어로 색상을 이야기할 수 있습니다.

완전한 색상 변수 구성 예시

실무에서 사용하는 색상 변수 구성을 살펴봅니다.

이렇게 구성하면 프로젝트에서 사용할 모든 색상을 한눈에 파악할 수 있고, 일관된 색상 사용이 가능합니다.

의미 기반 색상 변수

색상의 용도에 따라 변수를 구성하는 방법입니다.

의미 기반 네이밍은 색상의 용도를 명확하게 전달하므로, 어떤 상황에서 사용해야 할지 바로 알 수 있습니다.

타이포그래피 시스템

일관된 타이포그래피를 위한 폰트 변수 시스템을 구성합니다.
제목, 본문, 캡션 등 용도별로 폰트를 정리해 두면, 새로운 화면을 설계할 때도 “어떤 크기·굵기를 써야 할지”를 빠르게 결정할 수 있습니다.

간격 시스템 (Spacing System)

일관된 간격을 위한 체계적인 여백 변수 시스템을 구성합니다.
간격 시스템이 정리되어 있으면, 페이지 곳곳의 margin·padding을 감으로 맞추는 대신 정해진 단계 안에서 선택할 수 있어 디자인 일관성이 높아집니다.

8px 기반 간격 시스템

8px를 기본 단위로 하여 배수 관계로 간격을 정의하는 방식입니다.

8px 기반 시스템은 디자인 도구(피그마, 스케치 등)와도 잘 맞아 실무에서 많이 사용됩니다.

4px 기반 간격 시스템

4px를 기본 단위로 하는 더 세밀한 간격 시스템입니다.

브레이크포인트 변수

반응형 디자인을 위한 미디어 쿼리 브레이크포인트를 변수로 관리합니다.
브레이크포인트를 변수로 모아두면, 디자인 시안이 바뀌거나 지원 기기 범위가 달라져도 한 곳만 수정해 전체 레이아웃을 조정할 수 있습니다.

브레이크포인트를 변수로 관리하면 반응형 디자인 변경 시 한 곳만 수정하면 됩니다.

그림자 변수

UI 요소에 깊이감과 계층감을 주는 그림자 효과를 일관되게 적용하기 위해 그림자 변수를 활용합니다.
카드, 모달, 버튼 등 다양한 컴포넌트에서 그림자 값이 중복되거나 일관성이 깨지는 것을 방지하기 위해, 크기별로 그림자를 변수로 정의하여 재사용합니다.

전환 효과 변수

버튼 클릭, 호버, 툴팁 표시 등 인터랙션에서 자연스러운 전환 효과를 만들기 위해 시간 변수를 활용합니다.
각 요소마다 다른 전환 시간을 사용하거나 임의의 값을 지정하면 애니메이션 속도가 일관되지 않아 사용자 경험이 저하될 수 있습니다. 따라서 빠름(fast), 보통(normal), 느림(slow) 등의 단계별로 시간 변수를 정의하여 일관된 애니메이션 속도를 유지합니다.

테두리 변수

입력 필드, 카드, 버튼 등 다양한 UI 요소에서 일관된 테두리 스타일을 적용하기 위해 테두리 변수를 활용합니다.
각 요소마다 테두리 너비, 반경(radius), 색상을 직접 지정하면 값이 중복되거나 일관성이 깨질 수 있습니다. 따라서 테두리 너비, 반경, 색상을 변수로 정의하여 재사용함으로써 디자인의 일관성을 유지하고 유지보수를 용이하게 합니다.

완전한 변수 파일 예시

실무에서 사용하는 완전한 변수 파일 구성을 예시로 살펴봅니다. 모든 변수를 한 파일에 체계적으로 정리한 예시입니다.

이렇게 구성하면 프로젝트의 모든 디자인 토큰을 한 곳에서 관리할 수 있습니다.

변수 활용 예시

정의한 변수들을 실제 컴포넌트에 활용하는 예시를 살펴봅니다.

버튼 컴포넌트

여러 변수를 조합하여 버튼 스타일을 작성합니다.

카드 컴포넌트

카드 컴포넌트에서도 다양한 변수를 활용합니다.

정리

실무에서 자주 사용하는 변수 구성 예시에 대해 알아본 내용을 정리합니다.

  • 색상 팔레트: 브랜드 색상, 상태 색상, 중성 색상을 체계적으로 구성
  • 타이포그래피 시스템: 폰트 패밀리, 크기, 굵기, 줄간격을 변수로 관리
  • 간격 시스템: 8px 또는 4px 기반으로 일관된 간격 체계 구축
  • 브레이크포인트: 반응형 디자인을 위한 미디어 쿼리 값 변수화
  • 그림자, 전환, 테두리: 시각적 효과를 위한 변수 구성
  • 통합 관리: 모든 변수를 한 파일에 체계적으로 정리하여 관리

다음 페이지에서는 CSS 변수와 SCSS 변수의 차이를 자세히 비교해봅니다.