나무모에 미러 (일반/밝은 화면)
최근 수정 시각 : 2026-07-05 07:30:28

CSS/자료형


#!if top = 문서명1 != null ? 문서명1 : calleeTitle != null ? (i = calleeTitle.lastIndexOf("/")) != -1 ? calleeTitle.substr(0, i) : '상위 문서' : '상위 문서'
[[파일:상위 문서 아이콘.svg|align=left&width=21.6px]] {{{#!html  }}} 상위 문서: [[]]

1. 개요2. 목록
2.1. <number>2.2. <length>
2.2.1. 절대 길이 단위2.2.2. 상대 길이 단위
2.2.2.1. 글꼴 상대 길이2.2.2.2. 뷰포트 상대 길이2.2.2.3. 컨테이너 상대 길이
2.3. <angle>
2.3.1. 각도 단위
2.4. <percentage>2.5. <color>
2.5.1. 키워드2.5.2. 헥스 코드2.5.3. 함수형 표기법
2.5.3.1. 상대적 색상
2.6. <gradient>
2.6.1. 선형 그래디언트2.6.2. 원형 그래디언트2.6.3. 원뿔 그래디언트2.6.4. 반복 그래디언트

1. 개요

CSS의 속성에 값으로 들어갈 수 있는 자료형들에 대해 서술하는 문서이다. 속성에서 자료형이 사용되는 형식을 나타낼 때 꺾쇠괄호(<>)로 묶어서 표현한다.

2. 목록

전체 자료형은 MDNCSS 자료형 페이지에서 확인할 수 있다.

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 센티미터, [math(\dfrac{96}{2.54})]px과 같다.
mm 밀리미터
Q [math(\dfrac{1}{4})] 밀리미터
영미 단위계
in 인치, 96px과 같다.
pc 피카[1]
pt 포인트

2.2.2. 상대 길이 단위

2.2.2.1. 글꼴 상대 길이
<colbgcolor=#f5f5f5,#2d2f34> 글꼴 상대 길이
cap 폰트에서 대문자의 높이
ch 폰트에서 '0' 문자의 너비
em font-size 값
ex 폰트의 엑스하이트
ic 폰트에서 '' 문자의 너비
lh line-height 값
루트 요소의 글꼴 상대 길이
rcap 루트 요소의 cap 값
rch 루트 요소의 ch 값
rem 루트 요소의 em 값
rex 루트 요소의 ex 값
ric 루트 요소의 ic 값
rlh 루트 요소의 lh 값
2.2.2.2. 뷰포트 상대 길이
<colbgcolor=#f5f5f5,#2d2f34> 뷰포트[2] 상대 길이
vw 화면 너비의 1%
vh 화면 높이의 1%
vmin vw, vh 중 작은 길이
vmax vw, vh 중 큰 길이
vi 뷰포트의 인라인 축(글쓰기 방향) 길이의 1%
vb 뷰포트의 블록 축(줄 쌓임 방향) 길이의 1%
작은 뷰포트[3] 상대 길이
svw 작은 뷰포트에서의 vw
svh 작은 뷰포트에서의 vh
svmin 작은 뷰포트에서의 vmin
svmax 작은 뷰포트에서의 vmax
svi 작은 뷰포트에서의 vi
svb 작은 뷰포트에서의 vb
큰 뷰포트[4] 상대 길이
lvw 큰 뷰포트에서의 vw
lvh 큰 뷰포트에서의 vh
lvmin 큰 뷰포트에서의 vmin
lvmax 큰 뷰포트에서의 vmax
lvi 큰 뷰포트에서의 vi
lvb 큰 뷰포트에서의 vb
동적 뷰포트[5] 상대 길이
dvw 동적인 뷰포트에서의 vw
dvh 동적인 뷰포트에서의 vh
dvmin 동적인 뷰포트에서의 vmin
dvmax 동적인 뷰포트에서의 vmax
dvi 동적인 뷰포트에서의 vi
dvb 동적인 뷰포트에서의 vb
2.2.2.3. 컨테이너 상대 길이
container-typesizeinline-size로 설정된 요소에서 사용할 수 있는 단위이다.
<colbgcolor=#f5f5f5,#2d2f34> 컨테이너 상대 길이
cqw 컨테이너 너비의 1%
cqh 컨테이너 높이의 1%
cqmin cqw, cqh 중 작은 길이
cqmax cqw, cqh 중 큰 길이
cqi 컨테이너 인라인 축(글쓰기 방향) 길이의 1%
cqb 컨테이너 블록 축(줄 쌓임 방향) 길이의 1%

2.3. <angle>

각도를 나타내는 값이다. translaterotatehsl과 같은 곳에서 사용된다.

2.3.1. 각도 단위

<colbgcolor=#f5f5f5,#2d2f34> 각도 단위
deg
rad 라디안
grad 그레이드
turn 회전 수[6]

2.4. <percentage>

백분율을 나타내는 값이다. <number>%를 붙인 모양을 하고 있다.

굉장히 많은 곳에서 사용되며 사용처에 따라 기준이 다양하게 설정되어 있는데, 보통은 부모 요소의 크기에 상대적인 값을 구하기 위해 사용된다.

2.5. <color>

을 나타내는 값이다. background-color, color 등의 속성에서 값으로 쓰인다.

2.5.1. 키워드

2.5.2. 헥스 코드

파일:상세 내용 아이콘.svg   자세한 내용은 헥스 코드 문서
#!if (문단 == null) == (앵커 == null)
를
#!if 문단 != null & 앵커 == null
의 [[헥스 코드#s-|]]번 문단을
#!if 문단 == null & 앵커 != null
{{{#!if 문서명 = 문서명 != null ? 문서명 : calleeTitle
의 [[헥스 코드#|]] 부분을}}}
참고하십시오.

2.5.3. 함수형 표기법

함수에 값들을 넣어 계산되는 색이다. 대괄호([])로 쌓인 매개변수는 넣지 않아도 작동하는 옵션이다.
}}}에서 숫자(<number>) 혹은 각도(<angle>) 값을 받아 색상을 나타낸다. 숫자는 deg 각도값과 같다. RGB에 비유하자면 0°, 360°가 R이고, 120°가 G, 240°가 B이다.}}}에서 숫자(<number>) 혹은 각도(<angle>) 값을 받아 색상을 나타낸다. 숫자는 deg 각도값과 같다.}}}에서 숫자(<number>) 혹은 각도(<angle>) 값을 받아 색상을 나타낸다. 숫자는 deg 각도값과 같다.}}}에서 숫자(<number>) 혹은 각도(<angle>) 값을 받아 색상을 나타낸다. 숫자는 deg 각도값과 같다.
2.5.3.1. 상대적 색상
함수 내부에 키워드를 추가해 특정 색 기준 상대적 색을 사용할 수 있다. 함수형 표기법 내부 맨 처음 값에 from <color>를 넣을 경우 해당 값 기준으로 계산된다.
<colbgcolor=#f5f5f5,#2d2f34> 문법 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)

oklch와 상대색 함수를 통해 lsh나 lch에 비해 여러 색을 좀 더 사람 눈으로 볼 때 밝기가 비슷하게 통일할 수 있다.
#!if bg1 = "background: oklch(from ", bg2 = " c h)"
#!style
.keepall { word-break: keep-all; }

.bg-red { background: red; }
.bg-orange { background: orange; }
.bg-yellow { background: yellow; }
.bg-green { background: green; }
.bg-blue { background: blue; }
.bg-purple { background: purple; }

.bg-red-oklch-05 { @bg1@red .5@bg2@; }
.bg-orange-oklch-05 { @bg1@orange .5@bg2@; }
.bg-yellow-oklch-05 { @bg1@yellow .5@bg2@; }
.bg-green-oklch-05 { @bg1@green .5@bg2@; }
.bg-blue-oklch-05 { @bg1@blue .5@bg2@; }
.bg-purple-oklch-05 { @bg1@purple .5@bg2@; }

.bg-red-oklch-08 { @bg1@red .8@bg2@; }
.bg-orange-oklch-08 { @bg1@orange .8@bg2@; }
.bg-yellow-oklch-08 { @bg1@yellow .8@bg2@; }
.bg-green-oklch-08 { @bg1@green .8@bg2@; }
.bg-blue-oklch-08 { @bg1@blue .8@bg2@; }
.bg-purple-oklch-08 { @bg1@purple .8@bg2@; }

.bg-red-oklch-10 { @bg1@red 1@bg2@; }
.bg-orange-oklch-10 { @bg1@orange 1@bg2@; }
.bg-yellow-oklch-10 { @bg1@yellow 1@bg2@; }
.bg-green-oklch-10 { @bg1@green 1@bg2@; }
.bg-blue-oklch-10 { @bg1@blue 1@bg2@; }
.bg-purple-oklch-10 { @bg1@purple 1@bg2@; }
<tableclass=keepall> 원색 oklch l값에 따른 색
0.5 0.8 1.0
<class=bg-red><class=bg-red-oklch-05><class=bg-red-oklch-08><class=bg-red-oklch-10>
red oklch(from red .5 c h) oklch(from red .8 c h) oklch(from red 1 c h)
<class=bg-orange><class=bg-orange-oklch-05><class=bg-orange-oklch-08><class=bg-orange-oklch-10>
orange oklch(from orange .5 c h) oklch(from orange .8 c h) oklch(from orange 1 c h)
<class=bg-yellow><class=bg-yellow-oklch-05><class=bg-yellow-oklch-08><class=bg-yellow-oklch-10>
yellow oklch(from yellow .5 c h) oklch(from yellow .8 c h) oklch(from yellow 1 c h)
<class=bg-green><class=bg-green-oklch-05><class=bg-green-oklch-08><class=bg-green-oklch-10>
green oklch(from green .5 c h) oklch(from green .8 c h) oklch(from green 1 c h)
<class=bg-blue><class=bg-blue-oklch-05><class=bg-blue-oklch-08><class=bg-blue-oklch-10>
blue oklch(from blue .5 c h) oklch(from blue .8 c h) oklch(from blue 1 c h)
<class=bg-purple><class=bg-purple-oklch-05><class=bg-purple-oklch-08><class=bg-purple-oklch-10>
purple oklch(from purple .5 c h) oklch(from purple .8 c h) oklch(from purple 1 c h)

2.6. <gradient>

그라데이션을 나타내는 자료형이다. background-image 등의 속성에서 자주 사용된다.

2.6.1. 선형 그래디언트

linear-gradient(...)

직선적인 그래디언트를 만드는 문법이다.
linear-gradient(white, black)
색()을 쉼표로 나열하여 그래디언트를 만든다. 기본적으로 색을 나열한 순서대로 위에서 아래로 내려오는 그래디언트가 생성된다.
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개 설정하면 해당색이 차지할 공간을 설정할 수 있다.

이전 지점과 같은 지점이거나 더 전의 지점을 설정할 경우, 불연속적인 무늬를 만들 수 있다.
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의 위치 차이를 줘서 그래디언트를 통해 안티에일리어싱처럼 만들 수 있다.
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.6.2. 원형 그래디언트

radial-gradient(...)

타원 방사형으로 퍼지는 그래디언트를 만드는 문법이다.
radial-gradient(white, black)
기본적으로 색을 나열하면 가운데 타원으로 생성된다.
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)
radial-gradient(circle at 0 50px, white 50%, black 50%)
그래디언트의 모양과 시작될 중심점의 위치를 설정할 수 있다. ellipse는 타원, circle은 을 의미한다.

중심점은 at X Y로 설정할 수 있으며, 하나만 할 경우 X와 Y가 같게 설정된다. 위치는 left, center, right, top, bottom의 키워드가 있으며, 길이 값을 설정해줄 수도 있다.
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.6.3. 원뿔 그래디언트

conic-gradient(...)

점을 중심으로 돌아가는 그래디언트를 만드는 문법이다.
conic-gradient(white, black)
conic-gradient(white, black 90deg 270deg, white)
색을 나열한 순서대로 시계방향으로 그래디언트가 생성된다. 처음색과 끝색을 똑같이 만들어야 불연속적인 부분이 사라진다. 따로 설정이 없을 경우 기본적으로 0deg인 12시 방향에서 시작된다. 색 지점은 각도()나 퍼센트(<percentage>) 값을 받는다.
conic-gradient(from 45deg, white, black)
from 을 통해 그래디언트의 시작 각도를 설정할 수 있다.

2.6.4. 반복 그래디언트

repeating-linear-gradient(...)
repeating-radial-gradient(...)
repeating-conic-gradient(...)

위에서 나온 그래디언트들을 반복시키는 문법이다.
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이다.[7] 이는 0~150이 대부분의 일반적인 모니터에서 표현 가능한 영역이기 때문이다. 150~230 매우 선명한 고성능 디스플레이에서 겨우 표현 가능한 초고채도 영역이며 230 초과 값도 입력은 가능하지만, 화면에는 그냥 230일 때와 똑같이 나오거나 깨져서 보인다.