상위 문서: CSS
1. 개요
CSS의 속성에 값으로 들어갈 수 있는 자료형들에 대해 서술하는 문서이다. 속성에서 자료형이 사용되는 형식을 나타낼 때 꺾쇠괄호(<>)로 묶어서 표현한다.2. 목록
전체 자료형은 MDN의 CSS 자료형 페이지에서 확인할 수 있다.2.1. <number>
숫자를 나타내는 값이다. 여러 숫자를 사용하는 자료형에서 조합되어 사용된다.<colbgcolor=#f5f5f5,#2d2f34> 유효한 숫자 예시 | |
12
|
정수 |
1.25
|
양의 실수 |
-9.8
|
음의 실수 |
.75
|
-1~1 사이의 소수점 이하 값의 경우 맨 앞의 0을 생략할 수 있습니다. |
10e3 -3.4e-2
|
과학적 기수법 |
2.2. <length>
길이를 나타내는 값이다.width
, margin
등 많은 속성에서 사용된다. 퍼센트(<percentage>) 값은 길이(<length>)와는 다른 자료형이다.0은 단위에 관계 없이 모두 같은 값을 가지기 때문에 따로 단위를 붙이지 않아도 된다.
2.2.1. 절대 길이 단위
<colbgcolor=#f5f5f5,#2d2f34> 디스플레이 | |
px
|
픽셀 |
국제단위계 | |
cm
|
센티미터 |
mm
|
밀리미터 |
영미 단위계 | |
in
|
인치 |
pc
|
피카[1] |
pt
|
포인트 |
2.2.2. 상대 길이 단위
<colbgcolor=#f5f5f5,#2d2f34> 글꼴 상대 길이 | |
em
|
font-size 값 |
rem
|
루트 요소의 font-size 값 |
lh
|
line-height 값 |
rlh
|
루트 요소의 line-height 값 |
ex
|
폰트의 엑스하이트 |
ch
|
폰트에서 '0' 문자의 너비 |
뷰포트[2] 상대 길이 | |
vw
|
화면 너비의 1% |
vh
|
화면 높이의 1% |
vmin
|
vw , vh 중 작은 길이
|
vmax
|
vw , vh 중 큰 길이
|
svw
|
작은 뷰포트[3] 너비의 1% |
svh
|
작은 뷰포트 높이의 1% |
lvw
|
큰 뷰포트[4] 너비의 1% |
lvh
|
큰 뷰포트 높이의 1% |
dvw
|
동적인 뷰포트[5] 높이의 1% |
dvh
|
동적인 뷰포트 높이의 1% |
2.3. <angle>
각도를 나타내는 값이다.translate
의 rotate
나 hsl
과 같은 곳에서 사용된다.2.3.1. 각도 단위
<colbgcolor=#f5f5f5,#2d2f34> 각도 단위 | |
deg
|
도 |
rad
|
라디안 |
grad
|
그레이드 |
turn
|
회전 수[6] |
2.4. <color>
색을 나타내는 값이다.background-color
, color
등의 속성에서 값으로 쓰인다.2.4.1. 헥스 코드
자세한 내용은 헥스 코드 문서 참고하십시오.2.4.2. 함수형 표기법
-
rgb(R, G, B)
/rgb(R G B)
RGB를 각각 0~255의 숫자로 입력하는 방식이다. 각 숫자를 16진수로 바꿔 # 앞에 이어서 적은 게 헥스 코드이다.
-
rgba(R, G, B, A)
/rgba(R G B / A)
RGB에 투명도를 추가한 버전. 투명도 A는 0~1의 소수점 숫자(<number>) 혹은 퍼센트(<percentage>) 값이다.
-
hsl(H, S, L)
/hsl(H S L)
HSL(Hue Saturation Lightness)를 함수형으로 입력하는 방식이다. RGB와 달리 색의 채도와 밝기가 명시적으로 입력되어 있기 때문에 글자만 보고도 어떤 색일지 유추하기가 쉽다. -
H
원형 색공간{{{#!wiki style="display: inline-block; vertical-align: middle; margin: 0 2px; background: conic-gradient(in hsl longer hue, red, red); width: 20px; height: 20px; border-radius: 50%; border: 1px solid #888;"
-
S
채도를 의미하며 퍼센트(<percentage>) 값을 받는다. 0%일 경우, 무채색이 되어 H의 값이 아무 효력이 없어지다. -
L
밝기를 의미하며 퍼센트(<percentage>) 값을 받는다. 0%가 검은색, 100%가 흰색을 나타낸다.
-
hsla(H, S, L, A)
/hsla(H S L / A)
HSL에 투명도를 추가한 버전. 투명도 A는 0~1의 소수점 숫자(<number>) 혹은 퍼센트(<percentage>) 값이다.
-
lab(L a b)
/lab(L a b / A)
Lab 색 공간을 함수형으로 입력하는 방식이다. -
L
색의 밝기를 나타낸다. 0~100의 숫자(<number>) 혹은 0%~100%의 퍼센트(<percentage>) 값, none 등을 사용할 수 있다. -
a
초록에서 빨강까지의 축을 나타낸다. 낮을 수록 초록에, 높을 수록 빨강에 가까워 진다. -125~125의 숫자(<number>) 혹은 -100%~100%의 퍼센트(<percentage>) 값, none 등을 사용할 수 있다. -
b
파랑에서 노랑까지의 축을 나타낸다. 낮을 수록 파랑에, 높을 수록 노랑에 가까워 진다. -125~125의 숫자(<number>) 혹은 -100%~100%의 퍼센트(<percentage>) 값, none 등을 사용할 수 있다. -
A (옵션)
투명도를 의미하며 0~1의 소수점 숫자(<number>) 혹은 퍼센트(<percentage>) 값이다.
-
color-mix(in ~, COLOR1, COLOR2)
색을 섞는 함수이다. 섞을 보간 방법(<color-interpolation-method>)과 두 색을 넣어서 사용할 수 있다.
2.4.2.1. 상대적 색상
함수 내부에 키워드를 추가해 특정 색 기준 상대적 색을 사용할 수 있다. 함수형 표기법 내부 맨 처음 값에from <color>
를 넣을 경우 해당 값 기준으로 계산된다. 단, 2024년 9월 27일 기준 몇몇 브라우저들은 아직 상대 색상의 기준으로 currentColor 값을 사용할 수 없다.<colbgcolor=#fff,#1c1d1f> | 문법 |
<colbgcolor=#fff,#1c1d1f>rgb(from blue r g b)
|
결과 |
rgb(0 0 255)
|
|
문법 |
rgb(from blue r 255 b)
|
|
결과 |
rgb(0 255 255)
|
|
문법 |
rgb(from blue r g 0)
|
|
결과 |
rgb(0 0 0)
|
2.4.3. 키워드
-
transparent
완전한 투명을 의미한다. rgba(R, G, B, 0), hsla(H, S, L, 0)와 똑같이 표시된다.
-
currentColor
말 그대로 현재 색을 의미한다. 해당 요소의 글자색인 color 속성 값을 따라간다. 대소문자를 구분하지 않아 currentcolor로 사용해도 된다.
-
시스템 색상
웹 페이지의 특정 부분에 사용되는 기본 색상을 의미한다. 대소문자를 구분하지 않는다. -
ActiveText
-
ButtonBorder
-
ButtonFace
-
ButtonText
-
Canvas
-
CanvasText
-
Field
-
FieldText
-
GrayText
-
Highlight
-
HighlightText
-
LinkText
-
Mark
-
MarkText
-
VisitedText
2.5. <gradient>
그라데이션을 나타내는 자료형이다.background-image
등의 속성에서 자주 사용된다.2.5.1. 선형 그래디언트
linear-gradient(...)
직선적인 그래디언트를 만드는 문법이다.
<colbgcolor=#fff,#1c1d1f>linear-gradient(white, black)
|
|
색()을 쉼표로 나열하여 그래디언트를 만든다. 기본적으로 색을 나열한 순서대로 위에서 아래로 내려오는 그래디언트가 생성된다. |
<colbgcolor=#fff,#1c1d1f>linear-gradient(white 50%, black)
|
|
linear-gradient(black, white 20% 80%, black)
|
|
linear-gradient(white 50%, black 50%) linear-gradient(white 50%, black 0)
|
|
색이 위치할 지점을 설정할 수 있다. 지점을 2개 설정하면 해당색이 차지할 공간을 설정할 수 있다. 이전 지점과 같은 지점이거나 더 전의 지점을 설정할 경우, 불연속적인 무늬를 만들 수 있다. |
<colbgcolor=#fff,#1c1d1f>linear-gradient(to right, white, black)
|
|
linear-gradient(to bottom right, white, black)
|
|
linear-gradient(45deg, white, black)
|
|
linear-gradient(30deg, white 50%, black 50%)
|
|
linear-gradient(30deg, white 50%, black calc(50% + 1px))
|
|
그래디언트의 방향은 색을 나열하기 전에 맨 앞에서 설정할 수 있다. 사용할 수 있는 방향은 top, bottom, left, right가 있으며 수직과 수평은 섞을 수 있다. 특정 각도를 설정할 수도 있다. 0deg는 12시 방향을 의미하며 각도는 시계방향으로 움직인다. 비스듬한 각도에서 그래디언트를 불연속적으로 만들 경우 계단 현상이 일어나기 때문에 calc로 1px의 위치 차이를 줘서 그래디언트를 통해 안티에일리어싱처럼 만들 수 있다. |
<colbgcolor=#fff,#1c1d1f>linear-gradient(red, blue)
|
|
linear-gradient(in hsl, red, blue)
|
|
linear-gradient(in hsl 45deg, red, blue)
|
|
linear-gradient(in hsl longer hue, red, blue)
|
|
색을 보간하는 방법을 설정할 수 있다. 색 보간 방법과 각도는 쉼표로 구분하지 않는다. in hsl을 통해 HSL로 보간하도록 설정할 경우 색상 red인 0deg에서 blue인 240deg으로 서서히 변화한다. 두 각도에서 기본적으로 가까운 180도 이하 각으로 변화하기에 2번째 예시의 경우 120deg의 거리를 움직이지만 longer hue를 사용할 경우 240deg쪽으로 변화한다. |
2.5.2. 원형 그래디언트
radial-gradient(...)
타원 방사형으로 퍼지는 그래디언트를 만드는 문법이다.
<colbgcolor=#fff,#1c1d1f>radial-gradient(white, black)
|
|
기본적으로 색을 나열하면 가운데 타원으로 생성된다. |
<colbgcolor=#fff,#1c1d1f>radial-gradient(ellipse at top, white, black)
|
|
radial-gradient(circle at top, white, black)
|
|
radial-gradient(circle at top right, white, black)
|
|
radial-gradient(circle at 0 50px, white, black)
|
|
그래디언트의 모양과 시작될 중심점의 위치를 설정할 수 있다. ellipse는
타원, circle은
원을 의미한다. 중심점은 at X Y 로 설정할 수 있으며, 하나만 할 경우 X와 Y가 같게 설정된다. 위치는 left, center, right, top, bottom의 키워드가 있으며, 길이 값을 설정해줄 수도 있다.
|
<colbgcolor=#fff,#1c1d1f>radial-gradient(closest-side at 25% 25%, white, black)
|
|
radial-gradient(closest-corner at 25% 25%, white, black)
|
|
radial-gradient(farthest-side at 25% 25%, white, black)
|
|
radial-gradient(farthest-corner at 25% 25%, white, black)
|
|
색이 어디까지 퍼질지 설정할 수 있다. 가까운 꼭짓점, 가까운 변, 먼 꼭짓점, 먼 변의 4가지가 있다. |
2.5.3. 원뿔 그래디언트
conic-gradient(...)
점을 중심으로 돌아가는 그래디언트를 만드는 문법이다.
<colbgcolor=#fff,#1c1d1f>conic-gradient(white, black)
|
|
conic-gradient(white, black 90deg 270deg, white)
|
|
색을 나열한 순서대로 시계방향으로 그래디언트가 생성된다. 처음색과 끝색을 똑같이 만들어야 불연속적인 부분이 사라진다. 따로 설정이 없을 경우 기본적으로 0deg인 12시 방향에서 시작된다. 색 지점은 각도()나 퍼센트(<percentage>) 값을 받는다. |
<colbgcolor=#fff,#1c1d1f>conic-gradient(from 45deg, white, black)
|
|
from 을 통해 그래디언트의 시작 각도를 설정할 수 있다.
|
2.5.4. 반복 그래디언트
repeating-linear-gradient(...)
repeating-radial-gradient(...)
repeating-conic-gradient(...)
위에서 나온 그래디언트들을 반복시키는 문법이다.
<colbgcolor=#fff,#1c1d1f>repeating-linear-gradient(white, black 10px, white 20px)
|
|
repeating-radial-gradient(white, black 10px, white 20px)
|
|
repeating-conic-gradient(white, black 10deg, white 20deg)
|
|
나열한 색의 설정된 지점이 끊긴 부분부터 처음 부분이 반복된다. |
[1]
1/6인치
[2]
보여지고 있는 전체 화면 영역
[3]
모바일 등에서 브라우저 UI에 가린 부분은 포함하지 않은 화면.
[4]
모바일 등에서 브라우저 UI에 가린 부분까지 포함한 화면.
[5]
모바일 등에서 브라우저 UI가 사라졌다 생겼다 함에 따라 달라지는 화면.
[6]
1turn은 360deg이다.