AD JB Toolbox 01

CSS / Reference / quotes

quotes는 open-quote와 close-quote로 생성되는 인용 부호의 쌍을 정합니다. 중첩 인용에는 깊이별 부호 쌍을 지정할 수 있으며, 본문에 직접 입력한 따옴표 문자를 바꾸는 속성은 아닙니다.

문법과 주요 값

q { quotes: "«" "»" "‹" "›"; }
q::before { content: open-quote; }
q::after { content: close-quote; }
값 또는 구분 동작과 선택 기준
auto 언어에 맞는 인용 부호를 브라우저가 선택
none 생성되는 인용 부호 표시 없음
"«" "»" 한 단계의 여는·닫는 부호 쌍
네 개 이상의 문자열 중첩 깊이에 사용할 쌍을 순서대로 지정

값의 적용 범위와 문법은 MDN의 quotes 문서에서 확인할 수 있습니다.

실행 예제와 결과 비교

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

<!doctype html>
<html lang="ko">
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>quotes 비교 예제</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 { quotes: "«" "»" "‹" "›"; }
.reference { quotes: none; }
q::before { content: open-quote; }
q::after { content: close-quote; }
</style>
</head>
<body>
<main id="demo">
<h1>quotes 적용 비교</h1>
<section class="samples"><div class="target"><p class="label">깊이별 인용 부호</p><q>바깥 인용 <q>안쪽 인용</q></q></div><div class="reference"><p class="label">none</p><q>인용문</q></div></section>
</main>
</body>
</html>

바깥 인용과 안쪽 인용은 서로 다른 부호 쌍을 사용합니다. none의 예문은 인용문이라는 의미를 유지하지만 생성된 부호는 보이지 않습니다.

바깥 인용과 안쪽 인용은 서로 다른 부호 쌍을 사용합니다.

인용 깊이와 쌍의 순서

두 문자열이 한 쌍이며 여는 부호 다음에 닫는 부호를 적습니다. 준비한 쌍보다 깊게 중첩되면 마지막 쌍이 계속 사용될 수 있습니다. 인용 부호는 생성 콘텐츠의 인용 깊이와 연결되므로 q 밖에서 open-quote를 사용할 때도 닫는 동작과 균형을 확인하세요.

문자 자체와 생성 부호

HTML에 이미 적은 “문자”는 quotes: none으로 없어지지 않습니다. no-open-quote와 no-close-quote는 부호를 표시하지 않으면서 인용 깊이에 영향을 주는 content 값으로, 부호 쌍 자체를 정하는 quotes와 구분합니다. 자동 부호를 쓰려면 문서의 lang도 정확히 지정합니다.

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

  • 부호가 두 번 보이면 원문 문자와 q의 생성 부호가 중복되는지 확인합니다.
  • quotes 값만 바꾸었는데 표시가 없으면 ::before와 ::after의 content를 확인합니다.

관련 설정을 함께 조정할 때는 content의 인용 부호 생성을 참고하세요.

같은 카테고리의 다른 글
CSS / Reference / calc()

CSS / Reference / calc()

calc()의 문법과 주요 값, 실제 적용 조건을 설명합니다. 부모 너비가 300px인 예제에서 첫 박스의 내용 너비는 260px, 두 번째 박스는 300px입니다.

CSS / Reference / box-shadow

CSS / Reference / box-shadow

box-shadow의 문법과 주요 값, 실제 적용 조건을 설명합니다. 첫 박스는 오른쪽 아래로 흐린 그림자가 생기고 두 번째 박스는 안쪽에 색 띠가 생깁니다.

CSS / Reference / white-space

CSS / Reference / white-space

white-space의 문법과 주요 값, 실제 적용 조건을 설명합니다. pre-wrap에서는 연속 공백과 원문의 줄바꿈이 남고, normal에서는 같은 텍스트가 일반적인 문장처럼 합쳐집니다.

CSS / Reference / align-content

CSS / Reference / align-content

align-content의 문법과 주요 값, 실제 적용 조건을 설명합니다. 첫 grid는 두 행이 위아래에 배치되고 그 사이 공간이 늘어납니다.

CSS / Reference / list-style-position

CSS / Reference / list-style-position

list-style-position의 문법과 주요 값, 실제 적용 조건을 설명합니다. outside에서는 마커를 제외한 본문 줄들이 같은 위치에서 시작합니다.

CSS / Reference / text-indent

CSS / Reference / text-indent

text-indent의 문법과 주요 값, 실제 적용 조건을 설명합니다. 첫 번째 문단은 첫 줄만 안으로 들어갑니다.

CSS / Reference / word-break

CSS / Reference / word-break

word-break의 문법과 주요 값, 실제 적용 조건을 설명합니다. keep-all은 한글을 포함한 긴 덩어리가 영역을 넘을 수 있고 break-all은 단어 내부까지 잘라 넣습니다.

CSS / Reference / font-weight

CSS / Reference / font-weight

font-weight의 문법과 주요 값, 실제 적용 조건을 설명합니다. 일반 굵기와 굵은 글자를 비교합니다.

CSS / Reference / quotes

CSS / Reference / quotes

quotes의 문법과 주요 값, 실제 적용 조건을 설명합니다. 바깥 인용과 안쪽 인용은 서로 다른 부호 쌍을 사용합니다.

CSS / Reference / accent-color

CSS / Reference / accent-color

accent-color의 문법과 주요 값, 실제 적용 조건을 설명합니다. 현재 브라우저가 지원하는 체크·라디오·범위·진행 표시의 강조 부분을 비교합니다.