CSS 간격 모듈 레벨 1

W3C 작업 초안,

이 문서에 대한 자세한 정보
이 버전:
https://www.w3.org/TR/2026/WD-css-gaps-1-20260624/
최신 공개 버전:
https://www.w3.org/TR/css-gaps-1/
편집자 초안:
https://drafts.csswg.org/css-gaps-1/
이전 버전:
이력:
https://www.w3.org/standards/history/css-gaps-1/
피드백:
CSSWG 이슈 저장소
편집자:
Kevin Babbitt (Microsoft)
이 명세에 대한 편집 제안:
GitHub 편집기
테스트 스위트:
https://wpt.fyi/results/css/css-gaps/

초록

이 모듈은 컨테이너 레이아웃에서 항목 사이의 간격("gaps")을 지정하는 속성을 정의합니다. 또한 해당 간격 안에 보이는 구분선을 그리기 위한 속성을 도입합니다.

CSS는 구조화된 문서 (예: HTML 및 XML) 를 화면, 종이 등에 렌더링하는 방식을 설명하기 위한 언어입니다.

이 문서의 상태

이 섹션은 이 문서가 공개된 시점의 상태를 설명합니다. 현재 W3C 발행물 목록과 이 기술 보고서의 최신 개정판은 W3C 표준 및 초안 색인에서 확인할 수 있습니다.

이 문서는 CSS 작업 그룹에 의해 권고안 트랙을 사용하여 작업 초안으로 공개되었습니다. 작업 초안으로 공개되었다고 해서 W3C와 그 회원들이 이를 보증한다는 의미는 아닙니다.

이 문서는 초안 문서이며 언제든지 다른 문서로 갱신, 대체 또는 폐기될 수 있습니다. 이 문서를 진행 중인 작업 이외의 것으로 인용하는 것은 적절하지 않습니다.

피드백은 GitHub에 이슈를 등록하여 보내 주십시오(권장). 제목에는 다음과 같이 명세 코드 “css-gaps”를 포함해 주십시오: “[css-gaps] …의견 요약…”. 모든 이슈와 의견은 보관됩니다. 또는, 피드백을 (보관된) 공개 메일링 리스트 www-style@w3.org로 보낼 수도 있습니다.

이 문서는 2025년 8월 18일 W3C 프로세스 문서의 적용을 받습니다.

이 문서는 W3C 특허 정책에 따라 운영되는 그룹에 의해 작성되었습니다. W3C는 해당 그룹의 산출물과 관련하여 이루어진 모든 특허 공개의 공개 목록을 유지하며, 해당 페이지에는 특허 공개 지침도 포함되어 있습니다. 본질적 청구항(Essential Claim(s))을 포함한다고 개인이 믿는 특허에 대해 실제 지식을 가지고 있는 개인은 W3C 특허 정책의 6절에 따라 그 정보를 공개해야 합니다.

1. 소개

이 섹션은 규범적이지 않습니다.

CSS Multicol 1 § 4 열 간격과 규칙은 작성자가 다중 열 컨테이너의 열 사이 간격을 제어하고, 그 공간 안에 선과 같은 보이는 구분선을 그릴 수 있도록 하는 속성을 정의했습니다. 이러한 보이는 구분선을 간격 장식이라고 부릅니다.

이 명세는 이전에 정의된 속성을 확장합니다. 행 방향에 해당하는 동등한 속성을 추가하고, 전체 속성 집합을 다른 컨테이너 유형에도 적용하며, 간격 장식을 어디에 어떻게 그릴지 더 세밀하게 제어할 수 있게 합니다.

1.1. 값 정의

이 명세는 [CSS2]CSS 속성 정의 규약을 따르며, [CSS-VALUES-3]값 정의 구문을 사용합니다. 이 명세에서 정의되지 않은 값 유형은 CSS Values & Units [CSS-VALUES-3]에서 정의됩니다. 다른 CSS 모듈과 결합하면 이러한 값 유형의 정의가 확장될 수 있습니다.

각 속성 정의에 나열된 속성별 값에 더해, 이 명세에서 정의된 모든 속성은 CSS 전역 키워드도 속성 값으로 허용합니다. 가독성을 위해 이를 명시적으로 반복하지 않았습니다.

2. 박스 사이의 간격

marginpadding은 개별 박스 주변의 시각적 간격을 지정하는 데 사용할 수 있지만, 주어진 레이아웃 컨텍스트 안에서 인접한 박스 사이의 간격을 전역적으로 지정하는 것이 때로는 더 편리합니다. 특히 형제 박스 사이의 간격이 첫 번째/마지막 박스와 컨테이너 가장자리 사이의 간격과 다를 때 그렇습니다.

gap 속성과, 그 하위 속성인 row-gapcolumn-gap은 이 기능을 다중 열, 플렉스, 및 그리드 레이아웃에 제공합니다.

간격열 간격 또는 행 간격 중 하나이며, 그 정의는 컨테이너 유형에 따라 달라집니다:

다중 열 컨테이너
열 간격은 인접한 열 박스 사이의 거터입니다. [CSS-MULTICOL-1]을 참조하십시오.

행 간격column-height에 의해 설정된 열 박스의 행 사이에 있는 거터입니다. [CSS-MULTICOL-2]를 참조하십시오.

플렉스 컨테이너
주축에 적용될 때 (예: row 플렉스 컨테이너열 간격), 항목 사이의 거터를 가리킵니다 (단일 줄에서 인접한 플렉스 항목 사이에 고정 크기의 추가 margin이 삽입된 것처럼).

교차축에 적용될 때 (예: row 플렉스 컨테이너행 간격), 인접한 플렉스 줄 사이의 거터를 가리킵니다.

그리드 컨테이너
행 간격열 간격은, 그리드 컨테이너의 컨텍스트에서, 각각 그리드 행그리드 열 사이의 거터를 가리킵니다. 정확한 세부 사항은 CSS Grid Layout 1 § 10.1 거터: row-gap, column-gap 및 gap 속성을 참조하십시오.

거터는 항목 사이에 최소 간격을 만듭니다: 추가 간격은 justify-content/align-content에 의해 더해질 수 있습니다. 이러한 추가 공간은 해당 간격의 크기를 증가시킵니다.

모든 경우에, 간격단편화 분리와 일치하면 사라집니다. [CSS-BREAK-3]

참고: 테이블 박스는 셀 사이의 분리를 지정하기 위해 gap 속성을 사용하지 않습니다. 대신 border-spacing 속성을 사용하며, 이 속성은 약간 다른 기능을 가집니다: 상속되며, 가장 바깥쪽 셀과 테이블의 border 사이에 추가 간격도 지정합니다 (space-evenly와 유사하고 space-between과는 다릅니다).

spanner 요소가 있는 다중 열 컨테이너의 주황색 열 간격. 열 간격은 spanner를 만나면 끊어진다는 점에 유의하십시오.
`column-wrap: wrap`이 있는 다중 열 컨테이너의 간격; 주황색은 열 간격, 파란색은 행 간격입니다. 다중 열 컨테이너의 열 간격은 flex와 유사하게 행 간격과 겹치지 않는다는 점에 유의하십시오.
그리드 컨테이너의 간격; 주황색은 열 간격, 파란색은 행 간격입니다. 간격이 겹치는 음영 영역에 유의하십시오.
플렉스 컨테이너의 간격; 주황색은 열 간격, 파란색은 행 간격입니다. 그리드와 달리, flex의 간격은 겹치지 않는다는 점에 유의하십시오.

2.1. 행 및 열 거터: row-gapcolumn-gap 속성

이름: row-gap, column-gap
값: normal | <length-percentage [0,∞]> | <line-width>
초기값: normal
적용 대상: 다중 열 컨테이너, 플렉스 컨테이너, 그리드 컨테이너
상속: 아니요
백분율: § 2.3 gap 속성의 백분율 참조
계산값: 지정된 키워드, 그 외에는 계산된 <length-percentage>
정규 순서: 문법에 따름
애니메이션 유형: 계산값 유형에 따름

이 속성들은 컨테이너의 항목 사이에 고정 길이 거터를 지정하여, 항목 사이에 공간을 추가합니다—​이는 콘텐츠 분배 속성space-between 키워드와 유사하지만, 남은 공간의 일부가 아니라 고정 크기라는 점이 다릅니다. column-gap 속성은 “열” 사이의 간격을 지정하여, inline-axis margin과 유사하게 컨테이너의 인라인 축에서 박스를 분리합니다; 반면 row-gap은 “행” 사이의 간격을 나타내어, 컨테이너의 블록 축에서 박스를 분리합니다.

값은 다음 의미를 가집니다:

<length-percentage [0,∞]>
<line-width>

적용되는 레이아웃 모드에서 정의한 대로 행 간격 또는 열 간격을 지정합니다.

음수 값은 유효하지 않습니다. 백분율에 대해서는 § 2.3 gap 속성의 백분율을 참조하십시오.

normal

normal 값은 다중 열 컨테이너에서는 1em의 사용값을, 그 외 모든 컨텍스트에서는 0px의 사용값을 나타냅니다.

2.2. Gap 단축 표기: gap 속성

이름: gap
값: <'row-gap'> <'column-gap'>?
초기값: 개별 속성 참조
적용 대상: 다중 열 컨테이너, 플렉스 컨테이너, 그리드 컨테이너
상속: 아니요
백분율: 콘텐츠 영역의 대응하는 치수를 참조
계산값: 개별 속성 참조
정규 순서: 문법에 따름
애니메이션 유형: 계산값 유형에 따름

이 속성은 하나의 선언에서 row-gapcolumn-gap을 설정하는 단축 속성입니다. <'column-gap'>이 생략되면, <'row-gap'>과 같은 값으로 설정됩니다.

margin과 padding이 보이는 거터 크기에 더해지는 방식을 보여 주는 다이어그램

참고: gap 속성은 박스 사이에 만들어지는 보이는 “gutter” 또는 “alley”의 한 구성 요소일 뿐입니다. margin, padding 또는 분산 정렬의 사용은 박스 사이의 보이는 분리를 gap에 지정된 것보다 더 크게 만들 수 있습니다.

2.3. gap 속성의 백분율

일반적으로, gap 속성이 도입하는 간격은 그 간격의 크기를 가진 빈 항목/트랙/기타 등처럼 동작하도록 의도되었습니다; 다시 말해, 작성자는 컨테이너에 추가적인 빈 항목/트랙/기타 등을 삽입하는 것만으로 gap의 효과를 재현할 수 있어야 합니다.

gap은 항상 요소의 콘텐츠 박스의 대응하는 크기를 기준으로 백분율을 해석합니다. 이 크기가 definite이면, 동작은 잘 정의되어 있으며 레이아웃 모드 전반에서 일관됩니다. 하지만 레이아웃 모드마다 항목/트랙/기타 등의 순환 백분율 크기를 다르게 처리하므로, gap도 마찬가지입니다:

Grid Layout에서

min size 속성과 margin/padding에서처럼 [CSS-SIZING-3], 순환 백분율 크기는 intrinsic size contribution을 결정할 때 0을 기준으로 해석되지만, 박스의 콘텐츠를 배치할 때에는 박스의 콘텐츠 박스를 기준으로 해석됩니다.

Flex Layout에서

순환 백분율 크기는 모든 경우에 0을 기준으로 해석됩니다.

2.4. 레거시 Gap 속성: grid-row-gap, grid-column-gap, 및 grid-gap 속성

Grid Layout 모듈은 원래 자체적인 거터 속성 집합을 가지고 작성되었고, 이후 이러한 모든 속성이 기존 row-gap/column-gap 명명으로 통합되었습니다. 레거시 콘텐츠와의 호환성을 위해, 이러한 grid 접두사 이름은 다음과 같이 지원되어야 합니다:

3. Gap 장식

간격간격 장식을 포함할 수 있으며, 이는 인접한 박스 사이에 그려지는 보이는 구분선(예: 선)입니다.

간격 장식은 공간을 차지하지 않습니다. 즉, 간격 장식의 존재나 너비는 다른 어떤 것의 배치도 변경하지 않습니다. 간격 장식이 그 간격보다 넓으면, 인접한 박스가 장식과 겹치며, 경우에 따라 장식이 컨테이너의 박스 밖으로 확장될 수 있습니다.

간격 장식은 컨테이너의 border 바로 위에 그려집니다. 스크롤 가능한 컨테이너의 경우, 컨테이너의 border와 background는 스크롤되지 않지만, 장식은 컨테이너 안의 항목과 함께 스크롤되어야 한다는 점에 유의하십시오.

간격 장식은 속성이 적용되는 컨테이너가 배치한 "column"과 "row"의 정의를 따릅니다. 이러한 용어의 의미를 결정할 때에는 컨테이너 유형이 writing mode를 고려하는 방식에 의존합니다. 예시는 다음을 참조하십시오: CSS Multicol 2 § 3 다중 열 모델, CSS Flexbox 1 § 5.1 Flex 흐름 방향: flex-direction 속성, 및 CSS Grid Layout 1 § 3 그리드 레이아웃 개념 및 용어.

이 명세에서 이름이 "column"으로 시작하는 속성은 열 간격에 적용되고, 이름이 "row"로 시작하는 속성은 행 간격에 적용됩니다.

3.1. 기하

간격 장식간격 안에 하나 이상의 간격 장식 세그먼트로 그려집니다.

3.1.1. 세그먼트 끝점

세그먼트 끝점간격의 중심선 위에 있는 점으로, 간격 장식 세그먼트가 시작하거나 끝날 수 있는 위치입니다. 끝점 유형은 두 가지입니다:

간격 G에 대해 세그먼트 끝점을 만들기:
  1. 간격의 경계:

    G의 두 경계에 끝점을 만듭니다:

    간격이 콘텐츠 경계까지 이어질 때, 이러한 끝점은 해당 콘텐츠 가장자리와 일치합니다.

  2. 간격 내부:

    간격 접합부는 하나 이상의 간격G와 맞닿거나 겹치는 G의 영역입니다. 각 간격 접합부마다 두 개의 세그먼트 끝점이 만들어집니다:

    이 순서(끝 세그먼트 끝점, 시작 세그먼트 끝점)는 간격 접합부가 한 트랙/항목/열의 끝과 다른 트랙/항목/열의 시작에 해당한다는 점을 반영합니다.

다음 예시는 세그먼트 끝점의 위치를 보여 주며, 각 경우에 시작 세그먼트 끝점은 보라색 +, 끝 세그먼트 끝점은 초록색 +로 표시합니다. 간격 접합부는 점선 박스로 표시됩니다.
.grid-with-spans {
  display: grid;
  grid-template: repeat(4, 100px) / repeat(4, 100px);
  gap: 20px;
  background: rgb(255 255 128);
}
.grid > * {
  border: 1px dashed black;
}
spanning 항목이 있는 그리드에서 세그먼트 끝점간격 접합부의 위치입니다. 세그먼트 끝점은 각 간격의 경계 (컨테이너의 가장자리와 일치함)에 만들어지고, 행 간격과 열 간격이 겹치는 간격 내부에서는 끝-시작 방식으로 만들어집니다.
.flex {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  width: 500px;
  background: rgb(255 255 128);
}
.flex > * {
  border: 1px dashed black;
}
플렉스 컨테이너에서 세그먼트 끝점간격 접합부의 위치입니다. 열 간격은 그 경계에 끝점을 만듭니다; 일부 경계는 컨테이너 가장자리와 일치합니다 (#1과 #2, #2와 #3 사이 간격의 시작이 컨테이너의 위쪽 가장자리와 일치하고, #7과 #8 사이 간격의 끝이 컨테이너의 아래쪽 가장자리와 일치하는 것처럼). 행 간격(플렉스 줄 사이)은 그 경계에 끝점을 만들며, 이는 컨테이너의 왼쪽 및 오른쪽 가장자리와 일치합니다. 열 간격이 행 간격과 맞닿는 곳에서는 두 끝점이 끝-시작 방식으로 만들어집니다.
.multi-column {
  column-count: 3;
  column-width: 100px;
  column-height: 50px;
  column-wrap: wrap;
  gap: 20px;
  background: rgb(255 255 128);
}

.multi-column > * {
  height: 100px;
  border: 1px dashed black;
}	
다중 열 컨테이너에서 세그먼트 끝점간격 접합부의 위치입니다. 열 간격(열 박스 사이)은 그 경계에 끝점을 만듭니다; 일부 경계는 컨테이너 가장자리와 일치합니다 (처음 두 열 간격의 시작이 위쪽 가장자리와 일치하고, 마지막 두 열 간격의 끝이 아래쪽 가장자리와 일치하는 것처럼). 행 간격(열 박스의 행 사이)은 그 경계에 끝점을 만들며, 이는 컨테이너의 왼쪽 및 오른쪽 가장자리와 일치합니다. 열 간격이 행 간격과 맞닿는 곳에서는 두 끝점이 끝-시작 방식으로 만들어집니다.

3.1.2. 간격 장식 세그먼트

정의

간격 장식 세그먼트시작 세그먼트 끝점끝 세그먼트 끝점을 짝지어 형성됩니다. 각 간격간격 장식 세그먼트의 모음을 형성합니다.

이 섹션에서는 간격 장식 세그먼트 ss = [s.start, s.end]로 나타냅니다. 여기서 s.start는 세그먼트의 시작 세그먼트 끝점이고, s.end는 세그먼트의 끝 세그먼트 끝점입니다.

UNION(s1, s2)은 [s1.start, s2.end]와 같다고 둡니다.

간격 장식 세그먼트는 그 끝점 사이의 모든 간격 접합부에 대해, 해당 접합부에 기여하는 모든 수직 방향 간격을 가로질러 span하는 항목들이 간격의 양쪽에 존재하면 spanning 항목으로 양쪽이 둘러싸인 것입니다.

주어진 간격의 컨텍스트에서, 한 쌍의 세그먼트 끝점 aba에서 b까지의 선분이 간격과 같은 너비를 가지고 컨테이너 안의 자식 항목과 교차한다면 불연속으로 간주됩니다.

알고리즘
주어진 간격 G에 대해 간격 장식 세그먼트를 결정하기:
  1. S를 빈 목록으로 둡니다.
  2. endpointsG에 대해 세그먼트 끝점을 만든 결과로 두고, G의 중심선을 따라 시작에서 끝까지의 위치 순서로 정렬합니다.

    참고: 이 목록은 시작 세그먼트 끝점끝 세그먼트 끝점이 엄격히 번갈아 나타나며 시작 세그먼트 끝점으로 시작하는 짝수 개의 요소를 포함한다고 보장됩니다.

  3. endpoints가 비어 있으면 S를 반환합니다.
  4. break를 간격에 적용되는 것에 따라 column-rule-break 또는 row-rule-break의 사용값으로 둡니다.
  5. breaknone이면:
    1. firstendpoints의 첫 번째 항목으로 둡니다.
    2. lastendpoints의 마지막 항목으로 둡니다.
    3. 간격 장식 세그먼트 segment = [first, last]를 만듭니다.
    4. segment오프셋을 적용한 다음 S에 추가합니다.
    5. S를 반환합니다.
  6. 빈 목록 검사: endpoints가 비어 있으면 S를 반환합니다.
  7. endpoints의 처음 두 항목으로부터 간격 장식 세그먼트 s를 만듭니다. 두 항목을 모두 목록에서 제거합니다.
  8. s의 끝점이 불연속이면, 빈 목록 검사로 돌아갑니다.
  9. endpoints가 비어 있지 않은 동안:
    1. endpoints의 처음 두 항목으로부터 간격 장식 세그먼트 next를 만들되, 두 항목 모두 목록에 남겨 둡니다.
    2. candidateUNION(s, next)로 둡니다.
    3. candidate의 끝점이 불연속이면 이 루프를 종료합니다.
    4. breakintersection이고 candidatespanning 항목으로 양쪽이 둘러싸인 것이 아니면, 이 루프를 종료합니다.
    5. endpoints에서 처음 두 항목을 제거합니다.
    6. sUNION(s, next)으로 설정합니다.
  10. s오프셋을 적용한 다음 S에 추가합니다.
  11. 빈 목록 검사로 돌아갑니다.
세그먼트 s = [start, end]에 오프셋을 적용하기:
  1. start를 적용 가능한 rule-inset 속성의 사용값만큼 오프셋합니다.
  2. end를 적용 가능한 rule-inset 속성의 사용값만큼 오프셋합니다.
  3. s를 조정된 [start, end]로 갱신합니다.
그리드 컨테이너에서 간격 장식 세그먼트(파란색 및 빨간색 직사각형)를 보여 주는 그림입니다. 세그먼트는 세그먼트 끝점의 쌍 사이에 그려지며, 시작 세그먼트 끝점은 보라색 십자 표시로, 끝 세그먼트 끝점은 초록색 십자 표시로 표시됩니다.
플렉스 컨테이너에서 간격 장식 세그먼트(파란색 및 빨간색 직사각형)를 보여 주는 그림입니다. 세그먼트는 세그먼트 끝점의 쌍 사이에 그려지며, 시작 세그먼트 끝점은 보라색 십자 표시로, 끝 세그먼트 끝점은 초록색 십자 표시로 표시됩니다.
다중 열 컨테이너(column-wrap: wrap 포함)에서 간격 장식 세그먼트(파란색 및 빨간색 직사각형)를 보여 주는 그림입니다. 세그먼트는 세그먼트 끝점의 쌍 사이에 그려지며, 시작 세그먼트 끝점은 보라색 십자 표시로, 끝 세그먼트 끝점은 초록색 십자 표시로 표시됩니다.
플렉스 컨테이너에서 간격 장식 세그먼트(파란색 및 빨간색 직사각형)를 보여 주는 그림입니다. 세그먼트는 세그먼트 끝점의 쌍 사이에 그려지며, 시작 세그먼트 끝점은 보라색 십자 표시로, 끝 세그먼트 끝점은 초록색 십자 표시로 표시됩니다.
플렉스 컨테이너에서 간격 장식 세그먼트(파란색 및 빨간색 직사각형)를 보여 주는 그림입니다. 세그먼트는 세그먼트 끝점의 쌍 사이에 그려지며, 시작 세그먼트 끝점은 보라색 십자 표시로, 끝 세그먼트 끝점은 초록색 십자 표시로 표시됩니다.
테스트

3.2. 교차점에서의 break 동작: column-rule-break, row-rule-break, 및 rule-break 속성

이름: column-rule-break, row-rule-break
값: none | normal | intersection
초기값: normal
적용 대상: 그리드 컨테이너, 플렉스 컨테이너, 다중 열 컨테이너, 및 그리드 레인 컨테이너
상속: 아니요
백분율: 해당 없음
계산값: 지정된 대로
정규 순서: 문법에 따름
애니메이션 유형: 이산

이 속성들은 컨테이너 안의 항목이 형성하는 보이는 "T" 또는 "cross" 교차점에서 주어진 간격 안의 장식을 세그먼트로 끊는 동작을 설정합니다. 이 값들을 적용하는 정확한 세부 사항은 간격 장식 세그먼트를 결정하는 단계에 제시되어 있습니다.

none
간격 장식은 보이는 "T" 또는 "cross" 교차점에서 시작하거나 끝나지 않습니다. 대신, 간격의 한쪽 끝에서 다른 끝까지 하나의 연속된 장식이 그려집니다.
normal
동작은 컨테이너 유형에 따라 달라집니다.
그리드 컨테이너
간격 장식은 보이는 "T" 교차점에서 시작하고 끝나지만, 보이는 "cross" 교차점은 통과해 계속 이어집니다.
플렉스 컨테이너
none과 동일하게 동작합니다.
다중 열 컨테이너
column-rule-break에서는 intersection과 동일하게 동작합니다. row-rule-break에서는 none과 동일하게 동작합니다.
intersection
간격 장식은 보이는 "T" 및 "cross" 교차점에서 시작하고 끝납니다.
테스트
이름: rule-break
값: <'column-rule-break'>
초기값: 개별 속성 참조
적용 대상: column-rule-breakrow-rule-break와 동일
상속: 개별 속성 참조
백분율: 개별 속성 참조
계산값: 개별 속성 참조
애니메이션 유형: 개별 속성 참조
정규 순서: 문법에 따름

단축 속성column-rule-breakrow-rule-break를 같은 값으로 설정합니다.

테스트

다음 예시는 *-rule-break 속성의 다양한 설정을 보여 줍니다.

.break-normal-grid {
  display: grid;
  grid-template: repeat(4, 100px) / repeat(4, 100px);
  gap: 20px;
  row-rule: 6px solid red;
  column-rule: 6px solid blue;
  rule-break: normal;
}
그리드의 간격 장식에 대한 기본 break 동작입니다. 각 장식은 간격을 가로질러 spanning하는 항목을 만나면 멈춥니다.
.break-none-grid {
  display: grid;
  grid-template: repeat(4, 100px) / repeat(4, 100px);
  gap: 20px;
  row-rule: 6px solid red;
  column-rule: 6px solid blue;
  rule-break: none;
}
break가 없는 그리드 간격 장식입니다. 간격 장식이 그리드에 배치된 항목 "뒤쪽"으로 확장된다는 점에 유의하십시오.
.break-intersection-grid {
  display: grid;
  grid-template: repeat(4, 100px) / repeat(4, 100px);
  gap: 20px;
  row-rule: 6px solid red;
  column-rule: 6px solid blue;
  rule-break: intersection;
}
서로 마주보는 쪽에 spanning 항목으로 둘러싸이지 않은 각 간격 장식 세그먼트 안에 포함된 그리드 간격 장식입니다.
.break-normal-multicol {
  column-width: 150px;
  column-height: 300px;
  gap: 1em;
  row-rule: 4px solid red;
  column-rule: 4px solid blue;
  rule-break: normal;
}
rule-break가 normal로 설정된 다중 열 간격 장식입니다. 열 방향에서는 rule-break가 intersection으로 설정된 것처럼 동작하고, 행 방향에서는 rule-break가 none으로 설정된 것처럼 동작한다는 점에 유의하십시오.
.break-intersection-multicol {
  column-width: 150px;
  column-height: 300px;
  gap: 1em;
  row-rule: 4px solid red;
  column-rule: 4px solid blue;
  rule-break: intersection;
}
rule-break가 intersection으로 설정된 다중 열 간격 장식입니다.
.break-normal-flex {
  display: flex;
  flex-wrap: wrap;
  gap: 20px;
  row-rule: 6px solid red;
  column-rule: 6px solid blue;
  rule-break: normal;
}
플렉스 컨테이너의 간격 장식에 대한 기본 break 동작입니다.
각 플렉스 줄에는 항목 사이에 고유한 별개의 간격이 있다는 점에 유의하십시오. 이것은 두 가지 의미를 가집니다:
  1. 인접한 플렉스 줄의 간격 장식은 우연히 간격이 정렬되어 보이더라도 서로 분리되어 있습니다.
  2. nonenormal과 동일한 시각적 효과를 가집니다.
.break-intersection-flex {
  display: flex;
  flex-wrap: wrap;
  width: 500px;
  gap: 20px;
  row-rule: 6px solid red;
  column-rule: 6px solid blue;
  rule-break: intersection;
}
간격 장식 세그먼트 안에 포함된 Flexbox 간격 장식입니다.

3.3. 간격 장식 끝점 조정: rule-inset 속성

이름: column-rule-inset-cap-start, column-rule-inset-cap-end, column-rule-inset-junction-start, column-rule-inset-junction-end, row-rule-inset-cap-start, row-rule-inset-cap-end, row-rule-inset-junction-start, row-rule-inset-junction-end
값: <inset-value>
초기값: 0
적용 대상: 그리드 컨테이너, 플렉스 컨테이너, 다중 열 컨테이너, 및 그리드 레인 컨테이너
상속: 아니요
백분율: 교차 간격 너비를 참조
계산값: 지정된 대로
정규 순서: 문법에 따름
애니메이션 유형: 계산값 유형에 따름
<inset-value> = <length-percentage> | overlap-join

이 속성들은 간격 장식의 시작점과 끝점을, 일반적으로 장식이 어디에서 시작하고 끝나는지를 결정하는 세그먼트 끝점에 대해 상대적으로 오프셋하는 데 사용할 수 있습니다.

접합부 세그먼트 끝점은 하나 이상의 다른 간격 장식 세그먼트도 존재하는 간격 접합부에 있는 세그먼트 끝점입니다.

캡 세그먼트 끝점접합부 세그먼트 끝점이 아닌 모든 세그먼트 끝점입니다. 여기에는 컨테이너의 콘텐츠 가장자리에 있는 끝점뿐 아니라, 다른 간격 장식 세그먼트가 존재하지 않는 간격 접합부의 끝점도 포함됩니다.

.simple-grid {
  rule-break: intersection;
  rule-visibility-items: between;
}
완전히 채워진 그리드에서는 모든 내부 간격 접합부접합부 세그먼트 끝점(J로 표시)를 생성하는 반면, 컨테이너의 콘텐츠 가장자리는 캡 세그먼트 끝점(C로 표시)을 생성합니다.
.simple-grid-with-empty-cells {
  rule-break: intersection;
  rule-visibility-items: between;
}
간격 장식 세그먼트가 다른 간격 장식 세그먼트가 존재하지 않는 내부 간격 접합부에서 종료되면, 그 끝점은 캡 세그먼트 끝점입니다.
.donut-grid-layout {
  rule-break: intersection;
  rule-visibility-items: between;
}
항목들이 컨테이너 가운데의 빈 공간을 둘러싸는 "도넛" 그리드 레이아웃에서는, 빈 내부 영역에 접하는 끝점이 캡 세그먼트 끝점입니다.

백분율은 다음과 같이 정의되는 교차 간격 너비를 기준으로 해석됩니다:

간격 접합부에 있는 세그먼트 끝점
교차 간격 너비세그먼트 끝점이 놓여 있는 간격과 같은 차원에서의 간격 접합부 크기입니다 (행 간격의 경우 행 차원, 열 간격의 경우 열 차원).

참고: 일반적으로 이는 교차하거나 맞닿는 간격에 적용되는 column-gap 또는 row-gap 속성의 사용값에, justify-content 또는 align-content로 인해 추가된 간격을 더한 값이 됩니다. 그러나 간격들이 겹치는 구간에서 서로 교차하거나 맞닿는 경우, 교차 간격 너비는 그러한 구간들의 합집합에 의해 결정됩니다. 이러한 경우의 예는 이 예시를 참조하십시오.

기타 세그먼트 끝점
교차 간격 너비0입니다.

참고: 이 위치 기반 분류는 캡 세그먼트 끝점 / 접합부 세그먼트 끝점 분류와는 별개입니다. 캡 세그먼트 끝점은 컨테이너 가장자리 또는 간격 접합부에 있을 수 있습니다 (이 예시 참조). 따라서 column-rule-inset-cap-start: 50%는 내부 캡에서는 간격 접합부 크기의 절반으로 해석되고, 컨테이너 가장자리 같은 다른 캡에서는 0으로 해석됩니다.

column-rule-inset-cap-startrow-rule-inset-cap-start 속성은 캡 세그먼트 끝점시작 세그먼트 끝점에 적용됩니다. column-rule-inset-junction-startrow-rule-inset-junction-start 속성은 접합부 세그먼트 끝점시작 세그먼트 끝점에 적용됩니다. 이러한 속성에서 양수 값은 간격의 축을 따라 방향으로 오프셋하고, 음수 값은 시작 방향으로 오프셋합니다.

column-rule-inset-cap-endrow-rule-inset-cap-end 속성은 캡 세그먼트 끝점끝 세그먼트 끝점에 적용됩니다. column-rule-inset-junction-endrow-rule-inset-junction-end 속성은 접합부 세그먼트 끝점끝 세그먼트 끝점에 적용됩니다. 이러한 속성에서 양수 값은 간격의 축을 따라 시작 방향으로 오프셋하고, 음수 값은 방향으로 오프셋합니다.

overlap-join 키워드는 같은 간격 접합부에서 만나는 간격 장식 사이에 깔끔한 연결을 만듭니다:

.inset-overlap-join {
  rule-inset: overlap-join;
  rule-break: intersection;
  rule-visibility-items: between;
}
overlap-join을 사용하면, 접합부 세그먼트 끝점간격 장식간격 접합부 안으로 확장되어 인접한 세그먼트를 연결합니다. 캡 세그먼트 끝점에서는 overlap-join0으로 처리됩니다.
.inset-overlap-join {
  rule-inset: overlap-join;
  rule-break: intersection;
  rule-visibility-items: between;
}
항목들이 컨테이너 가운데의 빈 공간을 둘러싸는 "도넛" 그리드 레이아웃에서, overlap-join접합부 세그먼트 끝점에서 인접한 세그먼트를 연결하며, 각 간격 장식간격 접합부 안으로 확장합니다. 컨테이너 가장자리와 빈 내부 영역에 접하는 캡 세그먼트 끝점에서는 overlap-join0으로 처리됩니다.
.inset-end {
  row-rule: 3px solid red;
  row-rule-break: intersection;
  row-rule-inset-end: 10px;
}
LTR 및 RTL 방향과 수직 writing-mode에서 비대칭 inset을 가진 행 방향 장식입니다.
테스트

3.3.1. -start-end 단축 표기

이 단축 표기들은 작성자가 균일한 비대칭 장식을 만들 수 있게 합니다.

.inset-start-8px-end-0px {
  column-rule-inset-start: 8px;
  column-rule-inset-end: 0px;
}
8px의 start inset은 간격 장식의 시작 부분을 물러나게 하고, 0px의 end inset은 간격 장식의 끝을 콘텐츠 가장자리에 맞춥니다.
이름: column-rule-inset-start, column-rule-inset-end, row-rule-inset-start, row-rule-inset-end
값: <inset-value>
초기값: 개별 속성 참조
적용 대상: column-rule-inset-cap-start, column-rule-inset-junction-start, column-rule-inset-cap-end, column-rule-inset-junction-end, row-rule-inset-cap-start, row-rule-inset-junction-start, row-rule-inset-cap-end, 및 row-rule-inset-junction-end와 동일
상속: 개별 속성 참조
백분율: 개별 속성 참조
계산값: 개별 속성 참조
애니메이션 유형: 개별 속성 참조
정규 순서: 문법에 따름

단축 속성들은 대응하는 -cap--junction- 속성을 같은 값으로 설정합니다. 예를 들어, column-rule-inset-startcolumn-rule-inset-cap-startcolumn-rule-inset-junction-start를 같은 값으로 설정합니다.

이름: rule-inset-start
값: <'column-rule-inset-start'>
초기값: 개별 속성 참조
적용 대상: column-rule-inset-startrow-rule-inset-start와 동일
상속: 개별 속성 참조
백분율: 개별 속성 참조
계산값: 개별 속성 참조
애니메이션 유형: 개별 속성 참조
정규 순서: 문법에 따름

단축 속성column-rule-inset-startrow-rule-inset-start를 같은 값으로 설정합니다.

이름: rule-inset-end
값: <'column-rule-inset-end'>
초기값: 개별 속성 참조
적용 대상: column-rule-inset-endrow-rule-inset-end와 동일
상속: 개별 속성 참조
백분율: 개별 속성 참조
계산값: 개별 속성 참조
애니메이션 유형: 개별 속성 참조
정규 순서: 문법에 따름

단축 속성column-rule-inset-endrow-rule-inset-end를 같은 값으로 설정합니다.

테스트

3.3.2. -cap--junction- 단축 표기

이 단축 표기들은 작성자가 캡 세그먼트 끝점접합부 세그먼트 끝점에서 서로 다른 처리를 할 수 있게 합니다.

.inset-cap-0px-inset-junction-negative-5px {
  column-rule-inset-cap: 0px;
  column-rule-inset-junction: -5px;
  column-rule-break: intersection;
}
-5px의 junction inset은 간격 장식의 끝점을 접합부 세그먼트 끝점에서 인접한 항목의 가장자리보다 약간 더 확장합니다. 0px의 cap inset은 캡 세그먼트 끝점에 있는 간격 장식의 끝점을 콘텐츠 가장자리에 맞춥니다.
이름: column-rule-inset-cap, column-rule-inset-junction, row-rule-inset-cap, row-rule-inset-junction
값: <inset-value> <inset-value>?
초기값: 개별 속성 참조
적용 대상: column-rule-inset-cap-start, column-rule-inset-cap-end, column-rule-inset-junction-start, column-rule-inset-junction-end, row-rule-inset-cap-start, row-rule-inset-cap-end, row-rule-inset-junction-start, 및 row-rule-inset-junction-end와 동일
상속: 개별 속성 참조
백분율: 개별 속성 참조
계산값: 개별 속성 참조
애니메이션 유형: 개별 속성 참조
정규 순서: 문법에 따름

이 단축 표기들은 대응하는 -start-end 속성을 설정합니다. 예를 들어, column-rule-inset-capcolumn-rule-inset-cap-startcolumn-rule-inset-cap-end를 모두 설정합니다. 값 하나가 지정되면 두 속성 모두 그 값으로 설정됩니다. 두 값이 지정되면 -start는 첫 번째 값으로, -end는 두 번째 값으로 설정됩니다.

이름: rule-inset-cap
값: <'column-rule-inset-cap'>
초기값: 개별 속성 참조
적용 대상: column-rule-inset-caprow-rule-inset-cap와 동일
상속: 개별 속성 참조
백분율: 개별 속성 참조
계산값: 개별 속성 참조
애니메이션 유형: 개별 속성 참조
정규 순서: 문법에 따름

단축 속성column-rule-inset-caprow-rule-inset-cap를 같은 값으로 설정합니다.

이름: rule-inset-junction
값: <'column-rule-inset-junction'>
초기값: 개별 속성 참조
적용 대상: column-rule-inset-junctionrow-rule-inset-junction와 동일
상속: 개별 속성 참조
백분율: 개별 속성 참조
계산값: 개별 속성 참조
애니메이션 유형: 개별 속성 참조
정규 순서: 문법에 따름

단축 속성column-rule-inset-junctionrow-rule-inset-junction를 같은 값으로 설정합니다.

테스트

3.3.3. 범용 단축 표기

이 단축 표기들은 작성자가 컨테이너 전체에서 균일한 처리를 할 수 있게 합니다.

.inset-0px {
  column-rule-inset: 0px;
  column-rule-break: intersection;
}
0px의 inset은 간격 장식의 끝을 인접한 항목에 맞춥니다.
.inset-positive-5px {
  column-rule-inset: 5px;
  column-rule-break: intersection;
}
5px의 inset은 간격 장식의 끝을 인접한 항목의 가장자리에 비해 짧게 만듭니다.
.inset-negative-5px {
  column-rule-inset: -5px;
  column-rule-break: intersection;
}
-5px의 inset은 간격 장식의 끝을 인접한 항목의 가장자리보다 약간 더 확장합니다.
.inset-negative-50percent {
  column-rule-inset: -50%;
  column-rule-break: intersection;
}
-50%의 inset은 간격 장식의 각 끝을 그 교차점 안으로 절반만큼 확장합니다. 이웃한 간격 장식은 "가운데에서 만나" 연속된 선을 만듭니다. 컨테이너의 가장자리에서는 교차 간격 너비0으로 정의되므로, -50%의 inset 값은 0으로 해석되고, 따라서 간격 장식은 컨테이너의 경계를 넘어 확장되지 않습니다. (이전 예시에서는 px 단위를 사용해 inset을 지정한 것과 대조하십시오.)
이름: column-rule-inset, row-rule-inset
값: <'column-rule-inset-cap'> [ / <'column-rule-inset-junction'> ]?
초기값: 개별 속성 참조
적용 대상: column-rule-inset-cap, column-rule-inset-junction, row-rule-inset-cap, 및 row-rule-inset-junction와 동일
상속: 개별 속성 참조
백분율: 개별 속성 참조
계산값: 개별 속성 참조
애니메이션 유형: 개별 속성 참조
정규 순서: 문법에 따름

이 단축 표기들은 대응하는 cap 및 junction의 시작과 끝 값을 설정합니다. 값의 순서는 다음과 같습니다:

cap-start cap-end? [/ junction-start junction-end?]?

생략된 값은 다음과 같이 채워집니다:

  1. junction 값이 생략되면 cap 값에서 복사됩니다.
  2. 생략된 모든 end 값은 대응하는 start 값에서 복사됩니다.
이름: rule-inset
값: <'column-rule-inset'>
초기값: 개별 속성 참조
적용 대상: column-rule-insetrow-rule-inset와 동일
상속: 개별 속성 참조
백분율: 개별 속성 참조
계산값: 개별 속성 참조
애니메이션 유형: 개별 속성 참조
정규 순서: 문법에 따름

단축 속성column-rule-insetrow-rule-inset를 같은 값으로 설정합니다.

테스트

3.4. 간격 장식 가시성: rule-visibility-items 속성

이름: column-rule-visibility-items, row-rule-visibility-items
값: all | around | between | normal
초기값: normal
적용 대상: 그리드 컨테이너다중 열 컨테이너
상속: 아니요
백분율: 해당 없음
계산값: 지정된 대로
정규 순서: 문법에 따름
애니메이션 유형: 이산

이 속성들은 간격 장식 세그먼트가 빈 영역에 인접한 간격의 부분에 그려지는지 여부를 제어합니다.

all
인접한 항목이 있는지와 관계없이 모든 간격 세그먼트에 장식을 그립니다.
around
두 인접 영역 중 적어도 하나가 항목으로 점유되어 있으면 간격 세그먼트에 장식을 그립니다.
between
두 인접 영역이 모두 항목으로 점유되어 있으면 간격 세그먼트에 장식을 그립니다.
normal
동작은 컨테이너 유형에 따라 달라집니다.
그리드 컨테이너
all과 동일하게 동작합니다.
다중 열 컨테이너
column-rule-visibility-items에서는 between과 동일하게 동작합니다. row-rule-visibility-items에서는 all과 동일하게 동작합니다.
이름: rule-visibility-items
값: <'column-rule-visibility-items'>
초기값: 개별 속성 참조
적용 대상: column-rule-visibility-itemsrow-rule-visibility-items와 동일
상속: 개별 속성 참조
백분율: 개별 속성 참조
계산값: 개별 속성 참조
애니메이션 유형: 개별 속성 참조
정규 순서: 문법에 따름

단축 속성column-rule-visibility-itemsrow-rule-visibility-items를 같은 값으로 설정합니다.

.break-normal-with-all-grid {
  display: grid;
  grid-template: repeat(3, 100px) / repeat(3, 100px);
  gap: 20px;
  row-rule: 6px solid red;
  column-rule: 6px solid blue;
  rule-visibility-items: all;
}
normal rule break와 all 가시성을 가진 Grid의 간격 장식입니다.
.break-normal-with-around-grid {
  display: grid;
  grid-template: repeat(3, 100px) / repeat(3, 100px);
  gap: 20px;
  row-rule: 6px solid red;
  column-rule: 6px solid blue;
  rule-visibility-items: around;
}
normal rule break와 around 가시성을 가진 Grid의 간격 장식입니다.
.break-normal-with-between-grid {
  display: grid;
  grid-template: repeat(3, 100px) / repeat(3, 100px);
  gap: 20px;
  row-rule: 6px solid red;
  column-rule: 6px solid blue;
  rule-visibility-items: between;
}
normal rule break와 between 가시성을 가진 Grid의 간격 장식입니다.
테스트

3.5. 간격 장식 겹침: rule-overlap 속성

이름: rule-overlap
값: row-over-column | column-over-row
초기값: row-over-column
적용 대상: 그리드 컨테이너, 플렉스 컨테이너, 및 그리드 레인 컨테이너
상속: 아니요
백분율: 해당 없음
계산값: 지정된 대로
정규 순서: 문법에 따름
애니메이션 유형: 이산

이 속성은 겹치는 간격 장식의 그리기 순서를 설정합니다.

row-over-column
행 방향 장식이 열 방향 장식 위에 그려집니다.
column-over-row
열 방향 장식이 행 방향 장식 위에 그려집니다.
.row-over-column {
  rule-overlap: row-over-column;
  row-rule: 6px solid red;
  column-rule: 6px solid blue;
}
Row-over-column 간격 장식 겹침입니다.
.column-over-row {
  rule-overlap: column-over-row;
  row-rule: 6px solid red;
  column-rule: 6px solid blue;
}
Column-over-row 간격 장식 겹침입니다.
테스트

3.6. 단편화

CSS Box Alignment 3 § 8.1 행 및 열 거터: row-gap 및 column-gap 속성은 간격이 단편화 분리와 일치하는 곳에서 사라진다고 명시합니다. 그러한 위치에는 간격이 없으므로, 그 안에는 간격 장식도 그려지지 않습니다.

테스트

4. 색상, 스타일 및 너비

이 절의 속성 정의는 [CSS-MULTICOL-1]에 있는 같은 이름의 속성 정의를 대체합니다.

4.1. 간격 장식 색상: column-rule-color, row-rule-color, 및 rule-color 속성

이름: column-rule-color, row-rule-color
값: <line-color-list> | <auto-line-color-list>
초기값: currentcolor
적용 대상: 그리드 컨테이너, 플렉스 컨테이너, 다중 열 컨테이너, 및 그리드 레인 컨테이너
상속: 아니요
백분율: 해당 없음
계산값: 지정된 대로
정규 순서: 문법에 따름
애니메이션 유형: 반복 가능 목록, § 4.7 목록 값의 보간 참조.
<line-color-list>          = <line-color-or-repeat>#

<auto-line-color-list>     = <line-color-or-repeat>#? ,
                             <auto-repeat-line-color> ,
                             <line-color-or-repeat>#?

<line-color-or-repeat>     = [ <color> | <repeat-line-color> ]

<repeat-line-color>        = repeat( [ <integer [1,∞]> ] , [ <color> ]# )

<auto-repeat-line-color>   = repeat( auto , [ <color> ]# )

이 속성들은 간격 장식의 색상을 설정합니다.

이름: rule-color
값: <'column-rule-color'>
초기값: 개별 속성 참조
적용 대상: column-rule-colorrow-rule-color와 동일
상속: 아니요
백분율: 개별 속성 참조
계산값: 개별 속성 참조
애니메이션 유형: 개별 속성 참조
정규 순서: 문법에 따름

단축 속성column-rule-colorrow-rule-color를 같은 값으로 설정합니다.

테스트

4.2. 간격 장식 스타일: column-rule-style, row-rule-style, 및 rule-style 속성

이름: column-rule-style, row-rule-style
값: <line-style-list> | <auto-line-style-list>
초기값: none
적용 대상: 그리드 컨테이너, 플렉스 컨테이너, 다중 열 컨테이너, 및 그리드 레인 컨테이너
상속: 아니요
백분율: 해당 없음
계산값: 지정된 대로
정규 순서: 문법에 따름
애니메이션 유형: 이산
<line-style-list>          = <line-style-or-repeat>#

<auto-line-style-list>     = <line-style-or-repeat>#? ,
                             <auto-repeat-line-style> ,
                             <line-style-or-repeat>#?

<line-style-or-repeat>     = [ <line-style> | <repeat-line-style> ]

<repeat-line-style>        = repeat( [ <integer [1,∞]> ] , [ <line-style> ]# )

<auto-repeat-line-style>   = repeat( auto , [ <line-style> ]# )

이 속성들은 간격 장식의 스타일을 설정합니다. <line-style> 값은 border-style과 동일하게 적용됩니다.

이름: rule-style
값: <'column-rule-style'>
초기값: 개별 속성 참조
적용 대상: column-rule-stylerow-rule-style와 동일
상속: 아니요
백분율: 개별 속성 참조
계산값: 개별 속성 참조
애니메이션 유형: 개별 속성 참조
정규 순서: 문법에 따름

단축 속성column-rule-stylerow-rule-style를 같은 값으로 설정합니다.

테스트

4.3. 간격 장식 너비: column-rule-width, row-rule-width, 및 rule-width 속성

이름: column-rule-width, row-rule-width
값: <line-width-list> | <auto-line-width-list>
초기값: medium
적용 대상: 그리드 컨테이너, 플렉스 컨테이너, 다중 열 컨테이너, 및 그리드 레인 컨테이너
상속: 아니요
백분율: 해당 없음
계산값: 절대 길이의 목록, 테두리 너비로 스냅됨
정규 순서: 문법에 따름
애니메이션 유형: 반복 가능 목록, § 4.7 목록 값의 보간 참조.
<line-width-list>          = <line-width-or-repeat>#

<auto-line-width-list>     = <line-width-or-repeat>#? ,
                             <auto-repeat-line-width> ,
                             <line-width-or-repeat>#?

<line-width-or-repeat>     = [ <line-width> | <repeat-line-width> ]

<repeat-line-width>        = repeat( [ <integer [1,∞]> ] , [ <line-width> ]# )

<auto-repeat-line-width>   = repeat( auto , [ <line-width> ]# )

이 속성들은 간격 장식의 너비를 설정합니다. 음수 값은 허용되지 않습니다.

이름: rule-width
값: <'column-rule-width'>
초기값: 개별 속성 참조
적용 대상: column-rule-widthrow-rule-width와 동일
상속: 아니요
백분율: 개별 속성 참조
계산값: 개별 속성 참조
애니메이션 유형: 개별 속성 참조
정규 순서: 문법에 따름

단축 속성column-rule-widthrow-rule-width를 같은 값으로 설정합니다.

테스트

4.4. 간격 장식 단축 속성: column-rule, row-rule, 및 rule 속성

이름: column-rule, row-rule
값: <gap-rule-list> | <gap-auto-rule-list>
초기값: 개별 속성 참조
적용 대상: 개별 속성 참조
상속: 개별 속성 참조
백분율: 개별 속성 참조
계산값: 개별 속성 참조
애니메이션 유형: 개별 속성 참조
정규 순서: 문법에 따름
<gap-rule-list>        = <gap-rule-or-repeat>#

<gap-auto-rule-list>   = <gap-rule-or-repeat>#? ,
                         <gap-auto-repeat-rule> ,
                         <gap-rule-or-repeat>#?

<gap-rule-or-repeat>   = <gap-rule> | <gap-repeat-rule>

<gap-repeat-rule>      = repeat( <integer [1,∞]> , <gap-rule># )

<gap-auto-repeat-rule> = repeat( auto , <gap-rule># )

<gap-rule>             = <line-width> || <line-style> || <color>

단축 속성들은 column-rule-width, column-rule-style, 및 column-rule-color 속성, 또는 각각 row-rule-width, row-rule-style, 및 row-rule-color 속성의 값을 설정합니다.

이름: rule
값: <'column-rule'>
초기값: 개별 속성 참조
적용 대상: column-rulerow-rule와 동일
상속: 아니요
백분율: 개별 속성 참조
계산값: 개별 속성 참조
애니메이션 유형: 개별 속성 참조
정규 순서: 문법에 따름

단축 속성column-rulerow-rule를 같은 값으로 설정합니다.

테스트

4.5. 값 목록과 repeat() 표기법

이 절의 각 속성은 쉼표로 구분된 값 목록을 허용합니다. 이런 방식으로 여러 값을 설정하면 주어진 컨테이너 안에서 간격 장식을 다양하게 만들 수 있습니다.

작성자는 빨간색과 파란색 열 rule이 번갈아 나타나도록 다음과 같이 지정할 수 있습니다:
column-rule-width: 1px;
column-rule-style: solid;
column-rule-color: red, blue;

이러한 목록에는 repeat() 표기법이 포함될 수 있습니다. CSS Grid Layout 1 § 7.2.3 행과 열 반복: repeat() 표기법과 유사하게, 이 표기법은 반복 패턴을 보이는 일련의 간격 장식을 더 간결한 형태로 작성할 수 있게 합니다.

repeat() 구문의 일반적인 형식은 대략 다음과 같습니다.

repeat( [ <integer [1,∞]> | auto ] , <value># )

repeat()의 첫 번째 인수는 반복 횟수를 지정합니다.

<integer>
정수 반복자를 지정합니다. 정수 반복자는 두 번째 인수의 값 목록으로 펼쳐지며, 첫 번째 인수에 지정된 횟수만큼 반복됩니다.
작성자는 다음과 같이 작성할 수 있습니다:
column-rule-color: gray, red, blue, red, blue, red, blue, gray;
또는 같은 색상 시퀀스를 생성하는 다음 형태로 줄일 수 있습니다:
column-rule-color: gray, repeat(3, red, blue), gray;
auto
자동 반복자를 지정합니다. 자동 반복자는 목록의 다른 부분에서 값을 받지 못하는 간격을 위한 값을 채우는 데 사용됩니다. 주어진 값 목록에서 repeat() 중 최대 하나만 자동 반복자일 수 있습니다.
이전 예시에서 이어서, 작성자가 최종 레이아웃에 열이 몇 개가 될지 모른다면 대신 다음과 같이 작성할 수 있습니다:
column-rule-color: gray, repeat(auto, red, blue), gray;
이는 첫 번째와 마지막 열 간격에 회색 장식을 만들고, 그 사이의 열 간격에는 빨간색과 파란색 장식이 번갈아 나타나도록 합니다.

repeat()의 두 번째 인수는 repeat()가 나타나는 속성에서 허용되는, 쉼표로 구분된 값 목록입니다.

4.6. 간격 장식 값을 간격에 할당하기

간격 장식은 할당되며, 이는 거터 접힘이 적용된 뒤에 이루어집니다. 주어진 접힌 거터 집합은 정확히 하나의 간격 장식을 소비합니다. 다음 간격 장식은 다음 거터(또는 접힌 거터 집합)에 적용됩니다. 따라서 접힌 거터는 장식 목적상 하나의 간격으로 처리됩니다.

단편화 때문에 억제된 간격도 패턴에서 간격 장식 값을 소비하지만, 실제 장식은 그곳에 그려지지 않습니다. 이는 단편화된 컨텍스트와 단편화되지 않은 컨텍스트 전체에서 간격과 장식 사이의 일관된 연결을 유지합니다.

마찬가지로, 플렉스 컨테이너가 여러 플렉스 줄로 줄바꿈될 때, 장식 패턴은 flexbox 전체의 간격에 순차적으로 할당되며 각 플렉스 줄의 시작에서 다시 시작하지 않습니다.

values 목록을 사용하여 gaps 목록에 간격 장식 값을 할당하려면:
  1. values 안의 모든 정수 반복자를 펼쳐진 동등한 값으로 대체합니다.
  2. 목록에 자동 반복자가 없으면:
    1. values의 첫 번째 항목과 gaps의 첫 번째 항목부터 시작하여, 각 값을 대응하는 간격에 할당합니다. 값이 간격보다 적으면, values의 첫 번째 항목부터 필요한 만큼 반복합니다.
    2. 이 알고리즘을 종료합니다.
  3. values에는 자동 반복자가 포함되어 있습니다. leading count자동 반복자 앞에 있는 values 항목 수로 둡니다. trailing count자동 반복자 뒤에 있는 values 항목 수로 둡니다.
  4. gaps를 다음과 같이 분할합니다:
    1. leading gapsgaps의 처음 leading count개 항목을 포함하게 합니다.
    2. trailing gapsgaps의 마지막 trailing count개 항목을 포함하게 하되, leading gaps에 있는 항목은 제외합니다.
    3. auto gapsleading gapstrailing gaps 어느 쪽에도 속하지 않는 gaps의 모든 항목을 포함하게 합니다.
  5. leading gaps가 비어 있지 않으면, values의 처음 leading count개 항목을 사용하여 leading gaps간격 장식 값을 할당합니다.
  6. trailing gaps가 비어 있지 않으면, values의 처음 trailing count개 항목을 사용하여 trailing gaps간격 장식 값을 할당합니다.
  7. auto gaps가 비어 있지 않으면, 자동 반복자의 두 번째 인수에 있는 값 목록을 사용하여 auto gaps간격 장식 값을 할당합니다.
테스트

4.7. 목록 값의 보간

repeat() 값이나 rule-color 또는 rule-width의 값 목록을 보간할 때, 보간은 다음의 두 단계로 진행됩니다:

  1. 확장: 모든 정수 반복자를 해당하는 값 목록으로 확장합니다.
  2. 목록 보간: 확장된 목록들에 대해 반복 가능한 목록 보간 알고리즘을 적용하여, 각 항목을 대응 항목과 보간합니다.
@keyframes example {
  from { column-rule-width: 10px; }
  to   { column-rule-width: 20px, 40px; }
}

위 값들을 보간하면 "from"과 "to" 값이 확장되어 동일한 길이의 목록들이 생성됩니다:

From:   10px, 10px
At 50%: 15px, 25px
To:     20px, 40px
@keyframes example {
  from { column-rule-width: repeat(2, 5px, 10px); }
  to   { column-rule-width: repeat(2, 15px, 20px); }
}

위 값들을 보간하면 "from"과 "to" 값이 확장되어 동일한 길이의 목록들이 생성됩니다:

From:    5px, 10px,  5px, 10px
At 50%: 10px, 15px, 10px, 15px
To:     15px, 20px, 15px, 20px
@keyframes example {
  from { column-rule-width: repeat(2, 10px, 20px); }
  to   { column-rule-width: 20px; }
}

위 값들을 보간하면 "from"과 "to" 값이 확장되어 동일한 길이의 목록들이 생성됩니다:

From:   10px, 20px, 10px, 20px
At 50%: 15px, 20px, 15px, 20px
To:     20px, 20px, 20px, 20px
@keyframes example {
  from { column-rule-width: repeat(2, 10px, 20px); }
  to   { column-rule-width: 20px, 30px; }
}

위 값들을 보간하면 "from"과 "to" 값이 확장되어 동일한 길이의 목록들이 생성됩니다:

From:   10px, 20px, 10px, 20px
At 50%: 15px, 25px, 15px, 25px
To:     20px, 30px, 20px, 30px

만약 우리가 보간하려는 두 목록(fromto) 중 어느 하나라도 auto 반복자를 포함한다면:

  1. fromto 각각을 세그먼트로 분할합니다. 이는 갭 장식 값을 할당하는 방식과 유사합니다:
    1. leading valuesauto 반복자 전의 값으로 둡니다.
    2. trailing valuesauto 반복자 이후의 값으로 둡니다.
    3. auto valuesauto 반복자 내부의 값으로 둡니다.
  2. fromto 중 오직 하나만 auto 반복자를 포함한다면, 불연속(discrete) 보간으로 처리합니다.
  3. 각 세그먼트의 정수 반복자는 모두 확장합니다.
  4. fromleading values 길이와 toleading values 길이가 일치하지 않으면 불연속 보간으로 처리합니다. fromtrailing values 길이와 totrailing values 길이가 일치하지 않으면 불연속 보간으로 처리합니다.
  5. fromto가 모두 auto 반복자를 갖고, 위에서 설명한 세그먼트의 길이가 일치하면 각 auto values의 값 목록에 repeatable list 보간을 적용합니다.
@keyframes example {
  from { column-rule-width: 10px, repeat(auto, 20px), 30px }
  to   { column-rule-width: 20px, repeat(auto, 40px), 40px }
}

fromto 전반의 leading valuestrailing values 길이가 일치하므로, 우리는 각 세그먼트에 대해 반복 가능한 목록 알고리즘을 적용할 수 있습니다.

From:   10px, repeat(auto, 20px), 30px
At 50%: 15px, repeat(auto, 30px), 35px
To:     20px, repeat(auto, 40px), 40px
@keyframes example {
  from { column-rule-width: 10px, 20px, repeat(auto, 20px), 30px }
  to   { column-rule-width: 20px, 30px, repeat(auto, 40px, 50px), 40px }
}

fromto 전반의 leading valuestrailing values 길이가 일치하므로, 우리는 각 세그먼트에 대해 반복 가능한 목록 알고리즘을 적용할 수 있습니다.

From:   10px, 20px, repeat(auto, 20px, 20px), 30px
At 50%: 15px, 25px, repeat(auto, 30px, 35px), 35px
To:     20px, 30px, repeat(auto, 40px, 50px), 40px
@keyframes example {
  from { column-rule-width: 10px, repeat(auto, 20px) }
  to   { column-rule-width: 20px, 30px, repeat(auto, 40px, 50px) }
}

fromleading values 길이와 toleading values 길이가 일치하지 않으므로, 우리는 불연속 보간으로 되돌아갑니다.

@keyframes example {
  from { column-rule-width: 10px, repeat(auto, 20px), 30px }
  to   { column-rule-width: 20px, repeat(auto, 40px), 40px, 50px }
}

fromtrailing values 길이와 totrailing values 길이가 일치하지 않으므로, 우리는 불연속 보간으로 되돌아갑니다.

@keyframes example {
  from { column-rule-width: 10px, repeat(auto, 20px), 30px }
  to   { column-rule-width: 20px }
}

오직 from만이 auto 반복자를 포함하므로, 우리는 불연속 보간으로 되돌아갑니다.

테스트

4.8. 직렬화

column-rule, row-rule, 및 rule 약어는 구성 요소인 롱핸드 속성들로부터 직렬화되지만, 이는 롱핸드 속성들이 반복자 정렬(repeater aligned)된 경우에만 해당합니다. 롱핸드 속성들이 반복자 정렬되지 않은 경우, 약어는 빈 문자열로 직렬화됩니다.

W, S, C를 각각 너비, 스타일, 색상 롱핸드 속성들의 값이라고 하자. 각 값은 항목들의 목록이며, 항목은 단일 값이거나 repeat() 표기일 수 있습니다. 롱핸드 속성들이 반복자 정렬되었다고 함은 다음 모든 조건이 참일 때에만 성립합니다:

  1. W, SC가 모두 동일한 항목 수를 갖습니다.

  2. 각 항목 인덱스 i에 대해, W[i], S[i] 및 C[i]는 모두 동일한 형태를 가집니다:

    1. 이들은 모두 비반복 값(non-repeat values), 모두 정수 반복자(integer repeaters), 또는 모두 auto 반복자여야 합니다.

    2. 만약 이들이 정수 반복자라면, <integer> 값들이 동일해야 합니다.

    3. repeat() 표기법은 동일한 수의 값을 포함해야 합니다.

이 약어 선언:

column-rule: 1px solid red, 2px dashed green, 3px dotted blue;

는 다음과 같은 롱핸드 값들로 분해됩니다:

column-rule-width: 1px, 2px, 3px;
column-rule-style: solid, dashed, dotted;
column-rule-color: red, green, blue;

롱핸드들이 반복자 정렬되어 있으므로, 이들은 원래의 약어 값으로 동일하게 직렬화됩니다: 세 속성 모두 동일한 항목 수(3)를 가지며, 각 항목은 단일 값입니다(반복자가 아님).

세 롱핸드가 약어에서 파생된 경우가 아니라 직접 지정된 경우에도 동일한 동작이 발생합니다.

이 약어 선언:

column-rule: 1px solid red, repeat(2, 2px dashed green);

는 다음과 같은 롱핸드 값들로 분해됩니다:

column-rule-width: 1px, repeat(2, 2px);
column-rule-style: solid, repeat(2, dashed);
column-rule-color: red, repeat(2, green);

롱핸드들이 반복자 정렬되어 있으므로, 이들은 원래의 약어 값으로 동일하게 직렬화됩니다: 세 속성 모두 동일한 항목 수(2)를 가지며, 각 인덱스에서 항목들의 타입이 일치합니다 (인덱스 0에서 단일 값, 인덱스 1에서 정수 반복자), 정수 반복자들은 동일한 반복 횟수(2)를 가지며, 정수 반복자들이 포함하는 값들의 수(1)도 같습니다.

세 롱핸드가 약어에서 파생된 경우가 아니라 직접 지정된 경우에도 동일한 동작이 발생합니다.

이 약어 선언:

column-rule: repeat(auto, 1px solid red, 2px dashed green);

는 다음과 같은 롱핸드 값들로 분해됩니다:

column-rule-width: repeat(auto, 1px, 2px);
column-rule-style: repeat(auto, solid, dashed);
column-rule-color: repeat(auto, red, green);

롱핸드들이 반복자 정렬되어 있으므로, 이들은 원래의 약어 값으로 동일하게 직렬화됩니다: 세 속성 모두 동일한 항목 수(1)를 가지며, 각 항목은 auto 반복자이고, auto 반복자들이 포함하는 값들의 수(2)도 같습니다.

세 롱핸드가 약어에서 파생된 경우가 아니라 직접 지정된 경우에도 동일한 동작이 발생합니다.

다음 선언들:

column-rule: repeat(auto, 1px solid red, 2px dashed green);
column-rule-width: repeat(auto, 3px, 4px, 5px);

는 다음과 같은 롱핸드 값들로 분해됩니다:

column-rule-width: repeat(auto, 3px, 4px, 5px);
column-rule-style: repeat(auto, solid, dashed);
column-rule-color: repeat(auto, red, green);

column-rule 약어는 롱핸드들이 반복자 정렬되어 있지 않기 때문에 빈 문자열로 직렬화됩니다: auto 반복자들이 포함하는 값들의 수가 서로 다릅니다.

세 롱핸드가 약어에서 파생된 경우가 아니라 직접 지정된 경우에도 동일한 동작이 발생합니다.

다음 선언들:

column-rule: repeat(2, 1px solid red, 2px dashed green);
column-rule-style: dashed, dotted, solid;

는 다음과 같은 롱핸드 값들로 분해됩니다:

column-rule-width: repeat(2, 1px, 2px);
column-rule-style: dashed, dotted, solid;
column-rule-color: repeat(2, red, green);

column-rule 약어는 롱핸드들이 반복자 정렬되어 있지 않기 때문에 빈 문자열로 직렬화됩니다: 인덱스 0의 항목들이 타입이 일치하지 않습니다 (너비와 색상은 정수 반복자, 스타일은 단일 값).

세 롱핸드가 약어에서 파생된 경우가 아니라 직접 지정된 경우에도 동일한 동작이 발생합니다.

다음 선언들:

column-rule: repeat(2, 1px solid red, 2px dashed green);
column-rule-color: repeat(4, red, cyan);

는 다음과 같은 롱핸드 값들로 분해됩니다:

column-rule-width: repeat(2, 1px, 2px);
column-rule-style: repeat(2, solid, dashed);
column-rule-color: repeat(4, red, cyan);

column-rule 약어는 롱핸드들이 반복자 정렬되어 있지 않기 때문에 빈 문자열로 직렬화됩니다: 정수 반복자들의 반복 횟수가 서로 다릅니다.

세 롱핸드가 약어에서 파생된 경우가 아니라 직접 지정된 경우에도 동일한 동작이 발생합니다.

테스트

5. 감사의 글

이 명세에 상당한 양의 규범적 텍스트, 예시 및 WPT 커버리지를 기여한 Sam Davis Omekara Jr.와 Javier Contreras Tenorio에게 깊이 감사드립니다.

Mats Palmgren의 이전 제안은 Gap Decorations에 대한 이 명세의 방향을 정하는 데 도움이 되었습니다.

이 명세를 형성하는 데 도움이 된 추가 피드백은 다음을 포함한 많은 사람들이 기여했습니다: Ahmad Shadeed, Alison Maher, Benoît Rouleau, Elika Etemad, Ian Kilpatrick, Josh Tumath, Kurt Catti-Schmidt, Lea Verou, Oliver Williams, Rachel Andrew, Sebastian Zartner, Tab Atkins-Bittner, 및 CSS 작업 그룹 구성원들.

6. 개인정보 보호 고려사항

이 명세와 관련하여 새로운 개인정보 보호 고려사항은 보고되지 않았습니다.

7. 보안 고려사항

이 명세와 관련하여 새로운 보안 고려사항은 보고되지 않았습니다.

8. 변경 사항

8.1. 2026년 2월 27일 작업 초안 이후 변경 사항

8.2. 2025년 4월 17일 작업 초안 이후 변경 사항

적합성

문서 규약

적합성 요구 사항은 설명적 주장과 RFC 2119 용어의 조합으로 표현됩니다. 이 문서의 규범적 부분에서 "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", 및 "OPTIONAL"이라는 핵심 단어들은 RFC 2119에 설명된 대로 해석되어야 합니다. 다만 가독성을 위해 이들 단어는 이 명세서에서 항상 대문자로만 표시되지는 않습니다.

이 명세서의 모든 텍스트는 비규범으로 명시된 절, 예시 및 주석을 제외하고는 규범적입니다. [RFC2119]

이 명세서의 예시는 "for example"이라는 말로 도입되거나 class="example"으로 규범적 텍스트와 구분되어 다음과 같이 제시됩니다:

이것은 정보성 예시의 예입니다.

정보성 주석은 "Note"라는 단어로 시작하며 class="note"로 규범적 텍스트와 구분되어 다음과 같이 제시됩니다:

참고: 이것은 정보성 주석입니다.

권고(advisements)는 특별한 주의를 환기시키기 위해 스타일링된 규범적 절이며 <strong class="advisement">로 규범적 텍스트와 구분되어 다음과 같이 제시됩니다: 사용자 에이전트는 접근 가능한 대안을 제공해야 합니다.

테스트

이 명세서의 내용과 관련된 테스트는 이와 같은 "Tests" 블록으로 문서화될 수 있습니다. 이러한 블록은 모두 비규범적입니다.


적합성 클래스

이 명세서에 대한 적합성은 세 가지 적합성 클래스로 정의됩니다:

스타일 시트
CSS 스타일 시트.
렌더러
사용자 에이전트(UA)로서 스타일 시트의 의미를 해석하고 이를 사용하는 문서를 렌더링하는 것.
저작 도구
사용자 에이전트(UA)로서 스타일 시트를 작성하는 것.

스타일 시트는 이 모듈에 정의된 문법을 사용하는 모든 선언이 일반 CSS 문법과 이 모듈에 정의된 각 기능의 개별 문법에 따라 유효한 경우 이 명세서에 적합한 것으로 간주됩니다.

렌더러는 스타일 시트를 적절한 명세들에 정의된 대로 해석하는 것 외에, 이 명세서에 의해 정의된 모든 기능을 올바르게 파싱하고 문서를 그에 맞게 렌더링함으로써 이 명세서에 적합한 것으로 간주됩니다. 다만 장치의 제약으로 인해 UA가 문서를 올바르게 렌더링하지 못하는 경우에는 그 UA를 비적합으로 보지 않습니다. (예: 단색 모니터에서 색을 렌더링할 의무는 없습니다.)

저작 도구는 이 모듈의 일반 CSS 문법 및 각 기능의 개별 문법에 따라 구문적으로 올바른 스타일 시트를 작성하고, 이 모듈에 설명된 스타일 시트의 다른 모든 적합성 요구 사항을 충족하면 이 명세서에 적합한 것으로 간주됩니다.

부분 구현

저자가 앞으로 호환되는 파싱 규칙을 활용하여 대체값을 지정할 수 있도록, CSS 렌더러는 사용 가능한 수준의 지원이 없는 모든 at-rule, 속성, 속성 값, 키워드 및 기타 구문적 구성요소들을 무효로 취급하고(그리고 적절히 무시)야 합니다. 특히 사용자 에이전트는 지원되지 않는 구성 값들을 선택적으로 무시하고 단일 다중값 속성 선언에서 지원되는 값들만 존중해서는 안 됩니다: 어떤 값이라도 무효로 간주된다면(지원되지 않는 값들이 반드시 그래야 하므로) CSS는 전체 선언을 무시하도록 요구합니다.

불안정 및 독점적 기능의 구현

미래의 안정적 CSS 기능과 충돌을 피하기 위해, CSSWG는 모범 사례를 따를 것을 권고합니다. 이는 불안정한 기능 및 CSS에 대한 독점 확장의 구현에 적용됩니다.

비실험적 구현

명세가 후보 권고(Candidate Recommendation) 단계에 도달하면, 비실험적 구현이 가능해지며 구현자는 명세에 따라 올바르게 구현되었음을 입증할 수 있는 CR 수준의 기능에 대해 접두사 없는 구현을 공개하는 것이 권장됩니다.

CSS 전반의 상호운용성을 확립하고 유지하기 위해, CSS Working Group은 비실험적 CSS 렌더러가 구현 보고서(필요한 경우 해당 구현 보고서에 사용된 테스트케이스도)를 W3C에 제출할 것을 요청합니다. W3C에 제출된 테스트케이스는 CSS Working Group의 검토 및 수정 대상이 됩니다.

테스트케이스 및 구현 보고서를 제출하는 방법에 대한 추가 정보는 CSS Working Group 웹사이트 https://www.w3.org/Style/CSS/Test/에서 확인할 수 있습니다. 질문은 public-css-testsuite@w3.org 메일링 리스트로 보내주시기 바랍니다.

색인

이 명세서에서 정의된 용어

참조로 정의된 용어

참고 문헌

규범적 참고문헌

[CSS-ALIGN-3]
Elika Etemad; Tab Atkins Jr.. CSS 박스 정렬 모듈 레벨 3. 2026년 1월 30일. WD. URL: https://www.w3.org/TR/css-align-3/
[CSS-BACKGROUNDS-3]
Elika Etemad; Brad Kemper. CSS 배경 및 테두리 모듈 레벨 3. 2024년 3월 11일. CRD. URL: https://www.w3.org/TR/css-backgrounds-3/
[CSS-BOX-4]
Elika Etemad. CSS 박스 모델 모듈 레벨 4. 2024년 8월 4일. WD. URL: https://www.w3.org/TR/css-box-4/
[CSS-BREAK-4]
Rossen Atanassov; Elika Etemad. CSS 단편화 모듈 레벨 4. 2018년 12월 18일. FPWD. URL: https://www.w3.org/TR/css-break-4/
[CSS-CASCADE-5]
Elika Etemad; Miriam Suzanne; Tab Atkins Jr.. CSS 캐스케이딩 및 상속 레벨 5. 2022년 1월 13일. CR. URL: https://www.w3.org/TR/css-cascade-5/
[CSS-COLOR-5]
Chris Lilley; Una Kravets; Lea Verou. CSS 색상 모듈 레벨 5. 2026년 6월 18일. WD. URL: https://www.w3.org/TR/css-color-5/
[CSS-FLEXBOX-1]
Elika Etemad; Tab Atkins Jr.; Rossen Atanassov. CSS 유연한 박스 레이아웃 모듈 레벨 1. 2025년 10월 14일. CRD. URL: https://www.w3.org/TR/css-flexbox-1/
[CSS-GRID-1]
Tab Atkins Jr.; 외. CSS 그리드 레이아웃 모듈 레벨 1. 2025년 3월 26일. CRD. URL: https://www.w3.org/TR/css-grid-1/
[CSS-GRID-2]
Tab Atkins Jr.; 외. CSS 그리드 레이아웃 모듈 레벨 2. 2025년 3월 26일. CRD. URL: https://www.w3.org/TR/css-grid-2/
[CSS-GRID-3]
Tab Atkins Jr.; 외. CSS 그리드 레이아웃 모듈 레벨 3. 2026년 1월 21일. WD. URL: https://www.w3.org/TR/css-grid-3/
[CSS-MULTICOL-1]
Florian Rivoal; Rachel Andrew. CSS 다중 열 레이아웃 모듈 레벨 1. 2024년 5월 16일. CR. URL: https://www.w3.org/TR/css-multicol-1/
[CSS-MULTICOL-2]
Florian Rivoal; Rachel Andrew. CSS 다중 열 레이아웃 모듈 레벨 2. 2024년 12월 19일. FPWD. URL: https://www.w3.org/TR/css-multicol-2/
[CSS-SIZING-3]
Tab Atkins Jr.; Elika Etemad. CSS 박스 크기 조정 모듈 레벨 3. 2021년 12월 17일. WD. URL: https://www.w3.org/TR/css-sizing-3/
[CSS-VALUES-3]
Tab Atkins Jr.; Elika Etemad. CSS 값 및 단위 모듈 레벨 3. 2024년 3월 22일. CRD. URL: https://www.w3.org/TR/css-values-3/
[CSS-VALUES-4]
Tab Atkins Jr.; Elika Etemad. CSS 값 및 단위 모듈 레벨 4. 2024년 3월 12일. WD. URL: https://www.w3.org/TR/css-values-4/
[CSS-WRITING-MODES-4]
Elika Etemad; Koji Ishii. CSS 쓰기 모드 레벨 4. 2019년 7월 30일. CR. URL: https://www.w3.org/TR/css-writing-modes-4/
[CSS2]
Bert Bos; 외. 캐스케이딩 스타일 시트 레벨 2 개정 1 (CSS 2.1) 명세. 2011년 6월 7일. REC. URL: https://www.w3.org/TR/CSS2/
[RFC2119]
S. Bradner. 요구 수준을 나타내기 위해 RFC에서 사용하는 핵심 단어. 1997년 3월. 현행 최선 관행. URL: https://datatracker.ietf.org/doc/html/rfc2119
[WEB-ANIMATIONS-1]
Brian Birtles; 외. 웹 애니메이션. 2023년 6월 5일. WD. URL: https://www.w3.org/TR/web-animations-1/

정보성 참고문헌

[CSS-GAPS-1]
Kevin Babbitt. CSS Gap Decorations Module Level 1. 17 April 2025. FPWD. URL: https://www.w3.org/TR/css-gaps-1/

속성 색인

이름 초기값 적용 대상 상속 백분율 애니메이션 유형 정규 순서 계산값
column-gap normal | <length-percentage [0,∞]> | <line-width> normal 다중 열 컨테이너, 플렉스 컨테이너, 그리드 컨테이너 아니요 참조 계산값 유형에 따름 문법에 따름 지정된 키워드, 그 외에는 계산된 <length-percentage> 값
column-rule <gap-rule-list> | <gap-auto-rule-list> 개별 속성 참조 개별 속성 참조 개별 속성 참조 개별 속성 참조 개별 속성 참조 문법에 따름 개별 속성 참조
column-rule-break none | normal | intersection normal 그리드 컨테이너, 플렉스 컨테이너, 다중 열 컨테이너 및 그리드 레인 컨테이너 아니요 해당 없음 이산 문법에 따름 지정된 대로
column-rule-color <line-color-list> | <auto-line-color-list> currentcolor 그리드 컨테이너, 플렉스 컨테이너, 다중 열 컨테이너 및 그리드 레인 컨테이너 아니요 해당 없음 반복 가능 목록, 참조 . 문법에 따름 지정된 대로
column-rule-inset <'column-rule-inset-cap'> [ / <'column-rule-inset-junction'> ]? 개별 속성 참조 column-rule-inset-cap, column-rule-inset-junction, row-rule-inset-cap 및 row-rule-inset-junction과 동일 개별 속성 참조 개별 속성 참조 개별 속성 참조 문법에 따름 개별 속성 참조
column-rule-inset-cap <inset-value> <inset-value>? 개별 속성 참조 column-rule-inset-cap-start, column-rule-inset-cap-end, column-rule-inset-junction-start, column-rule-inset-junction-end, row-rule-inset-cap-start, row-rule-inset-cap-end, row-rule-inset-junction-start 및 row-rule-inset-junction-end와 동일 개별 속성 참조 개별 속성 참조 개별 속성 참조 문법에 따름 개별 속성 참조
column-rule-inset-cap-end <inset-value> 0 그리드 컨테이너, 플렉스 컨테이너, 다중 열 컨테이너 및 그리드 레인 컨테이너 아니요 교차 간격 너비 참조 계산값 유형에 따름 문법에 따름 지정된 대로
column-rule-inset-cap-start <inset-value> 0 그리드 컨테이너, 플렉스 컨테이너, 다중 열 컨테이너 및 그리드 레인 컨테이너 아니요 교차 간격 너비 참조 계산값 유형에 따름 문법에 따름 지정된 대로
column-rule-inset-end <inset-value> 개별 속성 참조 column-rule-inset-cap-start, column-rule-inset-junction-start, column-rule-inset-cap-end, column-rule-inset-junction-end, row-rule-inset-cap-start, row-rule-inset-junction-start, row-rule-inset-cap-end 및 row-rule-inset-junction-end와 동일 개별 속성 참조 개별 속성 참조 개별 속성 참조 문법에 따름 개별 속성 참조
column-rule-inset-junction <inset-value> <inset-value>? 개별 속성 참조 column-rule-inset-cap-start, column-rule-inset-cap-end, column-rule-inset-junction-start, column-rule-inset-junction-end, row-rule-inset-cap-start, row-rule-inset-cap-end, row-rule-inset-junction-start 및 row-rule-inset-junction-end와 동일 개별 속성 참조 개별 속성 참조 개별 속성 참조 문법에 따름 개별 속성 참조
column-rule-inset-junction-end <inset-value> 0 그리드 컨테이너, 플렉스 컨테이너, 다중 열 컨테이너 및 그리드 레인 컨테이너 아니요 교차 간격 너비 참조 계산값 유형에 따름 문법에 따름 지정된 대로
column-rule-inset-junction-start <inset-value> 0 그리드 컨테이너, 플렉스 컨테이너, 다중 열 컨테이너 및 그리드 레인 컨테이너 아니요 교차 간격 너비 참조 계산값 유형에 따름 문법에 따름 지정된 대로
column-rule-inset-start <inset-value> 개별 속성 참조 column-rule-inset-cap-start, column-rule-inset-junction-start, column-rule-inset-cap-end, column-rule-inset-junction-end, row-rule-inset-cap-start, row-rule-inset-junction-start, row-rule-inset-cap-end 및 row-rule-inset-junction-end와 동일 개별 속성 참조 개별 속성 참조 개별 속성 참조 문법에 따름 개별 속성 참조
column-rule-style <line-style-list> | <auto-line-style-list> none 그리드 컨테이너, 플렉스 컨테이너, 다중 열 컨테이너 및 그리드 레인 컨테이너 아니요 해당 없음 이산 문법에 따름 지정된 대로
column-rule-visibility-items all | around | between | normal normal 그리드 컨테이너 및 다중 열 컨테이너 아니요 해당 없음 이산 문법에 따름 지정된 대로
column-rule-width <line-width-list> | <auto-line-width-list> medium 그리드 컨테이너, 플렉스 컨테이너, 다중 열 컨테이너 및 그리드 레인 컨테이너 아니요 해당 없음 반복 가능 목록, 참조 . 문법에 따름 절대 길이 목록, 테두리 너비로 스냅됨
gap <'row-gap'> <'column-gap'>? 개별 속성 참조 다중 열 컨테이너, 플렉스 컨테이너, 그리드 컨테이너 아니요 콘텐츠 영역의 해당 치수 참조 계산값 유형에 따름 문법에 따름 개별 속성 참조
row-gap normal | <length-percentage [0,∞]> | <line-width> normal 다중 열 컨테이너, 플렉스 컨테이너, 그리드 컨테이너 아니요 참조 계산값 유형에 따름 문법에 따름 지정된 키워드, 그 외에는 계산된 <length-percentage> 값
row-rule <gap-rule-list> | <gap-auto-rule-list> 개별 속성 참조 개별 속성 참조 개별 속성 참조 개별 속성 참조 개별 속성 참조 문법에 따름 개별 속성 참조
row-rule-break none | normal | intersection normal 그리드 컨테이너, 플렉스 컨테이너, 다중 열 컨테이너 및 그리드 레인 컨테이너 아니요 해당 없음 이산 문법에 따름 지정된 대로
row-rule-color <line-color-list> | <auto-line-color-list> currentcolor 그리드 컨테이너, 플렉스 컨테이너, 다중 열 컨테이너 및 그리드 레인 컨테이너 아니요 해당 없음 반복 가능 목록, 참조 . 문법에 따름 지정된 대로
row-rule-inset <'column-rule-inset-cap'> [ / <'column-rule-inset-junction'> ]? 개별 속성 참조 column-rule-inset-cap, column-rule-inset-junction, row-rule-inset-cap 및 row-rule-inset-junction과 동일 개별 속성 참조 개별 속성 참조 개별 속성 참조 문법에 따름 개별 속성 참조
row-rule-inset-cap <inset-value> <inset-value>? 개별 속성 참조 column-rule-inset-cap-start, column-rule-inset-cap-end, column-rule-inset-junction-start, column-rule-inset-junction-end, row-rule-inset-cap-start, row-rule-inset-cap-end, row-rule-inset-junction-start 및 row-rule-inset-junction-end와 동일 개별 속성 참조 개별 속성 참조 개별 속성 참조 문법에 따름 개별 속성 참조
row-rule-inset-cap-end <inset-value> 0 그리드 컨테이너, 플렉스 컨테이너, 다중 열 컨테이너 및 그리드 레인 컨테이너 아니요 교차 간격 너비 참조 계산값 유형에 따름 문법에 따름 지정된 대로
row-rule-inset-cap-start <inset-value> 0 그리드 컨테이너, 플렉스 컨테이너, 다중 열 컨테이너 및 그리드 레인 컨테이너 아니요 교차 간격 너비 참조 계산값 유형에 따름 문법에 따름 지정된 대로
row-rule-inset-end <inset-value> 개별 속성 참조 column-rule-inset-cap-start, column-rule-inset-junction-start, column-rule-inset-cap-end, column-rule-inset-junction-end, row-rule-inset-cap-start, row-rule-inset-junction-start, row-rule-inset-cap-end 및 row-rule-inset-junction-end와 동일 개별 속성 참조 개별 속성 참조 개별 속성 참조 문법에 따름 개별 속성 참조
row-rule-inset-junction <inset-value> <inset-value>? 개별 속성 참조 column-rule-inset-cap-start, column-rule-inset-cap-end, column-rule-inset-junction-start, column-rule-inset-junction-end, row-rule-inset-cap-start, row-rule-inset-cap-end, row-rule-inset-junction-start 및 row-rule-inset-junction-end와 동일 개별 속성 참조 개별 속성 참조 개별 속성 참조 문법에 따름 개별 속성 참조
row-rule-inset-junction-end <inset-value> 0 그리드 컨테이너, 플렉스 컨테이너, 다중 열 컨테이너 및 그리드 레인 컨테이너 아니요 교차 간격 너비 참조 계산값 유형에 따름 문법에 따름 지정된 대로
row-rule-inset-junction-start <inset-value> 0 그리드 컨테이너, 플렉스 컨테이너, 다중 열 컨테이너 및 그리드 레인 컨테이너 아니요 교차 간격 너비 참조 계산값 유형에 따름 문법에 따름 지정된 대로
row-rule-inset-start <inset-value> 개별 속성 참조 column-rule-inset-cap-start, column-rule-inset-junction-start, column-rule-inset-cap-end, column-rule-inset-junction-end, row-rule-inset-cap-start, row-rule-inset-junction-start, row-rule-inset-cap-end 및 row-rule-inset-junction-end와 동일 개별 속성 참조 개별 속성 참조 개별 속성 참조 문법에 따름 개별 속성 참조
row-rule-style <line-style-list> | <auto-line-style-list> none 그리드 컨테이너, 플렉스 컨테이너, 다중 열 컨테이너 및 그리드 레인 컨테이너 아니요 해당 없음 이산 문법에 따름 지정된 대로
row-rule-visibility-items all | around | between | normal normal 그리드 컨테이너 및 다중 열 컨테이너 아니요 해당 없음 이산 문법에 따름 지정된 대로
row-rule-width <line-width-list> | <auto-line-width-list> medium 그리드 컨테이너, 플렉스 컨테이너, 다중 열 컨테이너 및 그리드 레인 컨테이너 아니요 해당 없음 반복 가능 목록, 참조 . 문법에 따름 절대 길이 목록, 테두리 너비로 스냅됨
rule <'column-rule'> 개별 속성 참조 column-rule 및 row-rule과 동일 아니요 개별 속성 참조 개별 속성 참조 문법에 따름 개별 속성 참조
rule-break <'column-rule-break'> 개별 속성 참조 column-rule-break 및 row-rule-break와 동일 개별 속성 참조 개별 속성 참조 개별 속성 참조 문법에 따름 개별 속성 참조
rule-color <'column-rule-color'> 개별 속성 참조 column-rule-color 및 row-rule-color와 동일 아니요 개별 속성 참조 개별 속성 참조 문법에 따름 개별 속성 참조
rule-inset <'column-rule-inset'> 개별 속성 참조 column-rule-inset 및 row-rule-inset과 동일 개별 속성 참조 개별 속성 참조 개별 속성 참조 문법에 따름 개별 속성 참조
rule-inset-cap <'column-rule-inset-cap'> 개별 속성 참조 column-rule-inset-cap 및 row-rule-inset-cap과 동일 개별 속성 참조 개별 속성 참조 개별 속성 참조 문법에 따름 개별 속성 참조
rule-inset-end <'column-rule-inset-end'> 개별 속성 참조 column-rule-inset-end 및 row-rule-inset-end와 동일 개별 속성 참조 개별 속성 참조 개별 속성 참조 문법에 따름 개별 속성 참조
rule-inset-junction <'column-rule-inset-junction'> 개별 속성 참조 column-rule-inset-junction 및 row-rule-inset-junction과 동일 개별 속성 참조 개별 속성 참조 개별 속성 참조 문법에 따름 개별 속성 참조
rule-inset-start <'column-rule-inset-start'> 개별 속성 참조 column-rule-inset-start 및 row-rule-inset-start와 동일 개별 속성 참조 개별 속성 참조 개별 속성 참조 문법에 따름 개별 속성 참조
rule-overlap row-over-column | column-over-row row-over-column 그리드 컨테이너, 플렉스 컨테이너 및 그리드 레인 컨테이너 아니요 해당 없음 이산 문법에 따름 지정된 대로
rule-style <'column-rule-style'> 개별 속성 참조 column-rule-style 및 row-rule-style과 동일 아니요 개별 속성 참조 개별 속성 참조 문법에 따름 개별 속성 참조
rule-visibility-items <'column-rule-visibility-items'> 개별 속성 참조 column-rule-visibility-items 및 row-rule-visibility-items와 동일 개별 속성 참조 개별 속성 참조 개별 속성 참조 문법에 따름 개별 속성 참조
rule-width <'column-rule-width'> 개별 속성 참조 column-rule-width 및 row-rule-width와 동일 아니요 개별 속성 참조 개별 속성 참조 문법에 따름 개별 속성 참조