AD JB Toolbox 01

CSS / Reference / font-variant

font-variant는 작은 대문자, 숫자 모양, 합자 등 글꼴의 변형 기능을 묶어 지정하는 단축 속성입니다. small-caps는 소문자를 작은 대문자 형태로 표시하는 대표적인 값이며, 실제 모양은 글꼴이 제공하는 기능에 따라 달라집니다.

문법과 주요 값

속성 초기값 상속 주요 적용 조건
font-variant 하위 속성의 normal 상태가 기본 예 모든 요소; 실제 그림·텍스트·상자의 존재 조건은 본문에서 확인

초기값은 브라우저 기본 스타일시트가 HTML 요소에 적용한 값과 같다는 뜻이 아닙니다. 실제 값은 개발자 도구의 Computed에서 확인하세요.

.label { font-variant: small-caps; }
.amount { font-variant-numeric: tabular-nums; }
값 또는 구분 동작과 선택 기준
normal 변형 기능의 일반적인 기본 상태
small-caps 소문자를 작은 대문자 형태로 표시
font-variant-caps 대소문자 변형만 개별 지정
font-variant-numeric 고정폭 숫자 등 숫자 기능을 개별 지정

값과 적용 조건은 MDN font-variant에서 확인할 수 있습니다.

실행 예제와 결과 비교

아래 전체 코드를 UTF-8 형식의 font-variant-example.html 파일로 저장한 뒤 브라우저로 여세요. 예제용 CSS는 이 파일 안에만 넣고 사이트 전체 스타일시트에 그대로 붙여 넣지 않습니다.

<!doctype html>
<html lang="ko">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>font-variant 비교 예제</title>
<style>
body { margin: 0; color: #20242b; background: #fff; font: 16px/1.7 "Malgun Gothic", sans-serif; }
#demo { padding: 24px; max-width: 820px; margin: auto; }
h1 { font-size: 22px; margin: 0 0 20px; }
.samples { display: flex; flex-wrap: wrap; gap: 24px; }
.label { margin: 0 0 8px; font-weight: 700; }
.target, .reference { font: 26px/1.6 Georgia, serif; }
.target { font-variant: small-caps; }
.reference { font-variant: normal; }
</style>
</head>
<body>
<main id="demo">
<h1>font-variant 적용 비교</h1>
<section class="samples"><div class="a"><p class="label">small-caps</p><div class="target">Hello CSS World</div></div><div class="b"><p class="label">normal</p><div class="reference">Hello CSS World</div></div></section>
</main>
</body>
</html>

영문 소문자의 모양과 높이를 비교하세요. 글꼴이 진짜 작은 대문자 글리프를 제공하는지에 따라 브라우저가 만든 대체 표현과 차이가 날 수 있습니다.

문자 내용은 바뀌지 않습니다

small-caps는 표시를 바꾸는 기능입니다. 문서 객체 모델(DOM)의 실제 문자열을 대문자로 바꾸지 않으며, 대문자 변환을 목적으로 하는 text-transform: uppercase와는 다릅니다. 한글 자체에는 영문 대소문자와 같은 변화가 없지만 영문이 섞인 내용에는 차이가 나타날 수 있습니다.

필요한 하위 속성만 지정하기

글꼴 기능은 font-variant-caps, font-variant-numeric, font-variant-ligatures 등으로 나누어 지정할 수 있습니다. 단축 속성을 나중에 쓰면 다른 하위 설정도 재설정될 수 있으므로 숫자 정렬만 필요할 때는 해당 하위 속성을 사용하세요. 글꼴마다 지원 기능이 같지는 않습니다.

한 가지 설정씩 바꾸어 확인하기

앞의 전체 코드를 저장한 예제 파일을 사용합니다. 지정한 선택자의 CSS만 변경하고, 서로 다른 비교 조건을 한꺼번에 바꾸지 않습니다.

  1. 기존 파일의 .target 글자를 선택해 Elements에서 원문이 Hello CSS World로 남는지 확인합니다. small-caps를 normal로 바꾸고 복구합니다.
  2. 숫자 정렬을 확인하려면 .target의 내용을 1111 / 8888로 바꾸고 font-variant를 normal, font-variant-numeric을 tabular-nums로 지정합니다. 지원 글꼴에서는 숫자 폭이 맞춰집니다. 같은 모습이면 실제 글꼴 기능을 확인하고 원래 문장·속성으로 복구합니다.

문자 크기·줄 높이·서체를 함께 조정하려면 글꼴, 글자 크기, 굵기, 줄 간격 설정하기를 참고하세요. 본문의 조건과 함께 비교할 관련 속성은 font-family입니다.

적용되지 않거나 예상과 다를 때

  • 한글만 있는 예문이라면 영문 소문자를 추가해 small-caps를 비교합니다.
  • 숫자 기능이 안 보이면 사용 중인 실제 글꼴과 기능 지원 여부를 확인합니다.
같은 카테고리의 다른 글
CSS / Reference / aspect-ratio

CSS / Reference / aspect-ratio

선호 가로세로 비율과 이미지의 고유 비율을 구분합니다. auto 조합, 확정 크기, cover·contain의 잘림과 빈 공간을 실행 예제로 비교합니다.

CSS / Reference / font-weight

CSS / Reference / font-weight

숫자 굵기와 상대 굵기를 지정하고 실제 지원 서체를 확인합니다. 정적·가변 글꼴의 차이와 여러 요청이 같은 모습으로 나오는 이유를 설명합니다.

CSS / Reference / list-style-type

CSS / Reference / list-style-type

목록의 의미를 유지하면서 마커 모양과 번호 표시를 변경합니다. start 속성, 이미지 마커와 단축 속성의 영향까지 예제로 확인합니다.

CSS / Reference / quotes

CSS / Reference / quotes

중첩 인용에 사용할 여닫는 부호를 지정하고 문자로 입력한 따옴표와 구분합니다. 인용 깊이, 마지막 쌍의 재사용과 none의 동작을 비교합니다.

CSS / Reference / backface-visibility

CSS / Reference / backface-visibility

3차원 회전에서 요소 뒷면의 표시 여부를 비교합니다. 양면 카드의 별도 면 구성, 키보드 조작과 모션 감소 조건을 설명합니다.

CSS / Reference / color

CSS / Reference / color

전경색과 currentColor의 연결을 같은 박스에서 확인합니다. 상속, 배경색과의 차이, 대비와 색상 이외의 정보 표시 기준을 설명합니다.

CSS / Reference / word-break

CSS / Reference / word-break

한국어·영문 예문에서 normal·keep-all·break-all의 줄바꿈을 비교합니다. 사용 중단된 break-word와 overflow-wrap의 차이도 구분합니다.

CSS / Reference / background-repeat

CSS / Reference / background-repeat

repeat·no-repeat·space·round를 같은 타일로 비교합니다. 반복 방향, 타일 간격과 크기 조정, 한 축에 한 타일만 들어가는 조건을 살펴봅니다.

CSS / Reference / border-style

CSS / Reference / border-style

테두리 스타일의 1~4개 값 대응과 none의 계산 두께를 설명합니다. 접힌 표에서 hidden이 이웃 경계를 억제하는 차이도 실행 예제로 확인합니다.

CSS / Reference / clip

CSS / Reference / clip

사용 중단된 clip의 좌표를 읽고 clip-path의 inset 거리와 비교합니다. 절대 위치 조건과 크기 변경 시 좌표 재계산을 설명합니다.