불마 커스터마이징 개념
불마 커스터마이징 개념 (Bulma Customization Concepts)
Bulma는 커스터마이징이 매우 쉬운 CSS 프레임워크입니다. 색상부터 타이포그래피, 간격과 크기, 폼과 레이아웃까지 Bulma의 모든 부분을 사용자가 커스터마이징할 수 있어요. Bulma의 스타일과 변수는 여러 레벨에서 정의됩니다:
- 전역 Sass 변수 (Global Sass variables)
- 컴포넌트 Sass 변수 (Component Sass variables)
- 전역 CSS 변수 (Global CSS variables)
- 컴포넌트 CSS 변수 (Component CSS variables)
- 헬퍼 클래스 (Helper classes)
출처: 문서
본문
모든 Bulma 컴포넌트는 Sass 변수와 CSS 변수(커스텀 프로퍼티라고도 불려요)로 스타일링됩니다. 이에 대해 더 자세히 알고 싶다면 Sass 웹사이트와 MDN Reference에서 확인할 수 있어요.
전역 Sass 변수 (Global Sass Variables)
Bulma는 utilities 폴더에 있는 2개의 파일에서 전역 Sass 변수를 정의합니다:
initial-variables.scss — 리터럴 값으로 정의하는 변수들:
$blue: hsl(229, 53%, 53%)같은 색상$size-1: 3rem같은 글꼴 크기$block-spacing: 1.5rem같은 치수$tablet: 769px같은 브레이크포인트$easing: ease-out또는$radius-large: 0.75rem같은 기타 값
derived-variables.scss — 이전 파일에서 설정한 값으로부터 계산되는 변수들:
- primary 색상:
$primary,$link,$success,$info,$warning,$dark - utility 색상:
$background,$border,$code와$pre,$shadow-color - 타이포그래피:
$family-primary,$family-secondary,$family-code,$size-small,$size-normal,$size-medium,$size-large - 색상 맵:
$colors,$shades,$sizes
컴포넌트 Sass 변수 (Component Sass variables)
모든 Bulma 컴포넌트는 고유한 Sass 변수를 정의합니다. 예를 들어 components/breadcrumb.scss는 다음과 같은 변수를 정의합니다:
| Sass 변수 | 값 |
|---|---|
$breadcrumb-item-color |
var(--bulma-link-text) |
$breadcrumb-item-hover-color |
var(--bulma-link-text-hover) |
$breadcrumb-item-active-color |
var(--bulma-link-text-active) |
$breadcrumb-item-padding-vertical |
0 |
$breadcrumb-item-padding-horizontal |
0.75em |
$breadcrumb-item-separator-color |
var(--bulma-border) |
전역 CSS 변수 (Global CSS Variables)
Bulma는 :root 레벨에서 정의되는 전역 CSS 변수를 사용합니다. 모두 bulma- 접두사로 시작해요:
:root {
/* Colors and Lightness values */
--bulma-scheme-h: 221;
--bulma-scheme-s: 14%;
--bulma-light-l: 90%;
--bulma-light-invert-l: 20%;
--bulma-dark-l: 20%;
--bulma-dark-invert-l: 90%;
--bulma-soft-l: 90%;
--bulma-bold-l: 20%;
--bulma-soft-invert-l: 20%;
--bulma-bold-invert-l: 90%;
/* etc. */
/* Color Palettes */
--bulma-primary: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-l), 1);
--bulma-primary-base: hsla(var(--bulma-primary-h), var(--bulma-primary-s), var(--bulma-primary-l), 1);
--bulma-primary-rgb: 0, 209, 178;
--bulma-primary-h: 171deg;
--bulma-primary-s: 100%;
--bulma-primary-l: 41%;
--bulma-primary-00-l: 1%;
--bulma-primary-05-l: 6%;
--bulma-primary-10-l: 11%;
--bulma-primary-15-l: 16%;
--bulma-primary-20-l: 21%;
/* etc. */
/* Typography */
--bulma-family-primary: Inter, SF Pro, Segoe UI, Roboto, Oxygen, Ubuntu, Helvetica Neue, Helvetica, Arial, sans-serif;
--bulma-family-secondary: Inter, SF Pro, Segoe UI, Roboto, Oxygen, Ubuntu, Helvetica Neue, Helvetica, Arial, sans-serif;
--bulma-family-code: Inconsolata, Hack, SF Mono, Roboto Mono, Source Code Pro, Ubuntu Mono, monospace;
--bulma-size-small: 0.75rem;
--bulma-size-normal: 1rem;
--bulma-size-medium: 1.25rem;
--bulma-size-large: 1.5rem;
/* etc. */
}
같은 스코프(또는 더 구체적인 스코프)에서 새 값을 설정하면 간단히 덮어쓸 수 있어요:
:root {
/* Set new values */
--bulma-scheme-h: 35;
--bulma-scheme-s: 20%;
}
컴포넌트 CSS 변수 (Components CSS Variables)
Bulma는 컴포넌트 레벨에서도 스타일링됩니다. 예를 들어 .title 요소가 이렇게 스타일링됩니다:
.title {
--bulma-title-color: var(--bulma-text-strong);
--bulma-title-family: false;
--bulma-title-size: var(--bulma-size-3);
--bulma-title-weight: var(--bulma-weight-extrabold);
--bulma-title-line-height: 1.125;
--bulma-title-strong-color: inherit;
--bulma-title-strong-weight: inherit;
--bulma-title-sub-size: 0.75em;
--bulma-title-sup-size: 0.75em;
}
.title {
color: var(--bulma-title-color);
font-size: var(--bulma-title-size);
font-weight: var(--bulma-title-weight);
line-height: var(--bulma-title-line-height);
}
같은 스코프 아래에서 새 값을 설정하면 간단히 덮어쓸 수 있습니다:
.title {
--bulma-title-color: #fff;
--bulma-title-line-height: 1.6;
}