CSS 논리적 속성 및 값 모듈 1단계

W3C 작업 초안,

이 문서에 대한 자세한 정보
현재 버전:
https://www.w3.org/TR/2025/WD-css-logical-1-20251204/
최신 공식 버전:
https://www.w3.org/TR/css-logical-1/
에디터 초안:
https://drafts.csswg.org/css-logical-1/
이전 버전:
변경 이력:
https://www.w3.org/standards/history/css-logical-1/
피드백:
CSSWG 이슈 저장소
명세 내 인라인
편집자:
(Microsoft)
Elika J. Etemad / fantasai (Apple)
명세 편집 제안:
GitHub 에디터
테스트 모음:
https://wpt.fyi/results/css/css-logical/

요약

이 모듈은 작성자가 레이아웃을 물리적 방향과 치수 매핑이 아닌 논리적 방향과 치수 매핑을 통해 제어할 수 있도록 하는 논리 속성과 값을 도입합니다. 이 모듈은 [CSS2]에서 정의된 기능들에 대한 논리 속성과 값을 정의합니다. 이러한 속성들은 각각의 물리적 속성에 대응하는 작성 방향(writing-mode) 기준의 논리적 속성입니다.

CSS는 구조화된 문서(예: HTML, XML 등)의 화면, 인쇄물 등에서의 렌더링을 기술하는 언어입니다.

이 문서의 상태

이 절에서는 이 문서가 발행될 당시의 상태를 설명합니다. 현행 W3C 발행 목록과 이 기술 보고서의 최신 버전은 W3C 표준 및 초안 목록에서 찾을 수 있습니다.

이 문서는 CSS 작업 그룹에서 작업 초안(Working Draft)으로, 권고 절차에 따라 발행되었습니다. 작업 초안으로서의 발행은 W3C 및 W3C 회원의 공식 승인을 의미하지 않습니다.

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

피드백은 GitHub에 이슈 남기기(권장, "css-logical" 명세 코드 포함), 즉 제목에 “[css-logical] …의견 요약…” 형식으로 제출해주십시오. 모든 이슈와 코멘트는 아카이브에 저장됩니다. 또는, 피드백은 (아카이브를 포함) 공개 메일링 리스트 www-style@w3.org로 보낼 수 있습니다.

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

이 문서는 W3C 특허 정책하에 운영되는 그룹에 의해 작성되었습니다. W3C는 그룹 결과물과 관련된 공개된 특허 공시 목록을 유지하며, 해당 페이지에는 특허 공시에 대한 안내도 있습니다. 어떤 개인이 실제로 특허를 알고 있고, 그 특허에 필수 청구항(Essential Claim)이 포함되어 있다고 생각한다면, W3C 특허 정책 6장에 따라 정보를 공개해야 합니다.

1. 소개

참고: 올바른 작성 모드 소개는 [css-writing-modes-4]를 참고하세요. 이 모듈은 해당 용어에 대해 익숙하다는 것을 전제로 합니다.

서로 다른 문자 체계(문자 쓰기 시스템)는 서로 다른 방향으로 쓰이기 때문에, 다양한 작성 모드가 존재합니다: 좌에서 우, 위에서 아래; 우에서 좌, 위에서 아래; 아래에서 위, 우에서 좌; 등등. 페이지나 줄의 “시작” 같은 논리적 개념은 “줄의 위”나 “단락의 왼쪽 끝” 같은 물리적 개념과 다르게 매핑됩니다. 레이아웃의 일부 요소는 실제로는 쓰기 방향에 상대적이어서, 페이지가 다른 시스템에 맞게 번역될 때 달라질 수 있고; 그 외 요소들은 페이지의 물리적 방향에 상대적으로 고정됩니다.

예를 들어, 목록, 제목, 단락 등은 일반적으로 영어에서는 왼쪽 정렬되지만; 실제로는 시작정렬(start-aligned)입니다. 왜냐하면 아랍어에서는 같은 구조가 오른쪽 정렬되고, 다국어 문서는 두 쓰기 시스템을 모두 지원해야 하기 때문입니다.

다음 코드는 논리 구문을 사용하면 다양한 문자 체계에서도 잘 동작하는 코드를 작성할 수 있음을 보여줍니다:

호환 브라우저에서 아래 코드를 렌더링한 모습
<blockquote dir="auto">Quotation in English</blockquote>
<blockquote dir="auto">اقتباس في العربية</blockquote>
blockquote {
    text-align: start; /* 라틴어는 왼쪽, 아랍어는 오른쪽 정렬 */
    margin-inline-start: 0px; /* 라틴어는 왼쪽 마진, 아랍어는 오른쪽 마진 */
    border-inline-start: 5px solid gray; /* 라틴어는 왼쪽 테두리, 아랍어는 오른쪽 테두리 */
    padding-inline-start: 5px; /* 라틴어는 왼쪽 여백, 아랍어는 오른쪽 여백 */
}

문서에는 논리 속성과 물리 속성이 모두 필요할 수도 있습니다. 예를 들어 버튼에 적용된 그림자 효과는 페이지 전체에서 일관되게 유지되어야 하므로, 오프셋은 쓰기 시스템이 아니라 시각적(physical) 기준으로 결정되어야 하고, 문자의 쓰기 방향에 따라 달라지지 않아야 합니다.

CSS는 처음에 물리적 좌표만으로 제어하도록 설계됐기 때문에, 이 모듈은 텍스트 흐름 기준의 등가 속성을 도입하여 CSS 스타일 시트에서 흐름-기준 용어로 선언할 수 있도록 지원합니다. 해당 속성의 대응·계단형(cascade) 매핑, CSS2.1에 있는 것과 같은 값과 일부 신규 속성 및 값을 정의하고, 그 구문 유도 원리도 함께 설명합니다. 향후 CSS 명세는 속성과 값 정의에서 물리 좌표와 논리 좌표 모두를 제공할 것으로 예상되므로, 이 모듈은 새 CSS 기능의 흐름-기준 변형이 도입되는 것을 별도로 추적하지 않습니다.

CSS Writing ModesAbstract Box Terminology 섹션은 흐름-기준(flow-relative) 용어와 물리적(physical) 용어 간의 매핑 방법을 정의합니다. 이 매핑은 used valueswriting-mode, direction, text-orientation에 의존하며, flow-relative 키워드와 속성의 해석을 제어합니다.

일반적인 영어 텍스트 레이아웃에서 물리적 용어와 흐름-기준 용어의 대응
세로쓰기 중국어 텍스트 레이아웃에서의 물리적 용어와 흐름-기준 용어의 대응

참고: text-orientation: upright과의 상호작용 때문에, 사용된 direction 값은 계산값writing-modetext-orientation에 따라 달라집니다.

테스트

논리 속성에 대한 일반 테스트


불안정한 항목(Things That Are Unstable) 이 모듈의 일부 구현은 실제로 CSS Writing Modes의 구현에 필수적입니다 (기본 HTML 스타일을 올바르게 구현하기 위함). 따라서 CSSWG는 § 2 흐름-기준 값: block-start, block-end, inline-start, inline-end§ 4 흐름-기준 박스 모델 속성의 필요한 기능은 출시에 승인했다고 결정했습니다. (FPWD 발표 참고.)

그러나 아직 중요한 오픈 이슈가 있습니다:

이 이슈들에 대한 의견, 제안, 활용 사례를 환영합니다. GitHub 이슈로 등록하거나, @csswg로 트윗하거나, www-style@w3.org로 메일 보내 주세요.

1.1. 값 정의

이 명세는 CSS 속성 정의 규칙[CSS2]의 방식을, 값 정의 문법[CSS-VALUES-3]과 함께 따릅니다. 여기서 정의되지 않은 값 유형은 CSS Values & Units [CSS-VALUES-3]에서 정의됩니다. 다른 CSS 모듈과 결합되면 이 값 형식들의 정의가 확장될 수 있습니다.

속성별로 정의 섹션에 명시된 값 외에도, 본 명세서의 모든 속성은 CSS 전체 키워드(CSS-wide keywords) 역시 값으로 사용할 수 있습니다. 가독성을 위하여 본문에 반복 표기하지 않았습니다.

2. 흐름-기준 값: block-start, block-end, inline-start, inline-end

많은 CSS 속성은 전통적으로 방향성 키워드(directional keyword) 값을 받아왔으며, 이들 값은 물리적(physical) (top, bottom, left, right)입니다. 이 명세는 방향성 키워드 값으로, 흐름-기준(flow-relative)block-start, block-end, inline-start, inline-end를 도입합니다.

속성의 효과는 1차원 또는 2차원일 수 있습니다. 맥락상 한 차원에 한정될 경우, 흐름-기준 키워드는 startend로 줄여 사용됩니다.

CSS2 레벨 속성들은 이곳에서 흐름-기준 방향성 키워드도 허용하도록 재정의합니다. 이러한 값은 대응하는 물리적 값 대신 사용할 수 있습니다. 여러 키워드를 받는 속성의 경우, 흐름-기준 값과 물리 값의 조합은(만일 이후 명세에서 별도 허용되지 않으면) 사용할 수 없습니다.

참고: 최신 CSS 명세서들은 대부분 흐름-기준 또는 줄-기준(line-relative) 값을 정의하거나 기존의 물리적 값을 보조할 것으로 예상됩니다. 일반적으로, 이러한 상대적 값의 매핑은 상자를 조작할 때 작성 모드가 포함된 포함 블록(containing block)을 기준으로 하고, 내용(content)에 영향을 미칠 때에는 상자 자신(box itself)을 기준으로 할 것입니다. 어쨌든 어떤 작성 모드를 사용할지 명시적으로 정의해야 합니다.

2.1. caption-side 속성의 논리 값

이름(Name): caption-side
신규 값(New values): inline-start | inline-end
계산 값(Computed value): 지정된 키워드(specified keyword)
테스트

이 두 값은 leftright 값을 caption-side에서 지원하는 구현체에만 추가됩니다. leftright 값 자체는 줄-기준(line-relative)으로 정의됩니다.

기존 topbottom 값은 관례적으로 각각 block-startblock-end 쪽(table)에 할당되도록 재정의됩니다.

이 속성의 매핑은 caption의 작성 모드(writing mode)와, 포함 블록(containing block) (즉, table wrapper box)를 기준으로 합니다.

2.2. floatclear 속성의 흐름-기준 값

이름(Name): float, clear
신규 값(New values): inline-start | inline-end
계산 값(Computed value): 지정된 키워드(specified keyword)
테스트

이 속성들의 매핑은 요소의 작성 모드(writing mode)와, 포함 블록(containing block)을 기준으로 합니다.

참고: 이 속성들은 CSS2에서는 1차원이지만, 추후 2차원 확장이 예정되어 있으므로, 생략형이 아닌 흐름-기준 키워드를 사용합니다.

2.3. text-align 속성의 흐름-기준 값

이름(Name): text-align
신규 값(New values): start | end
계산 값(Computed value): 지정된 키워드(specified keyword)

이 값들은 [css-text-3]에서 규범적으로 정의되어 있습니다.

3. 흐름-기준 페이지 분류

CSS에서 모든 페이지는 사용자 에이전트에 의해 왼쪽 페이지 또는 오른쪽 페이지로 분류됩니다. [CSS2] 어떤 페이지가 펼침(spread)에서 첫 번째가 되는지는 페이지의 진행 방향이 좌→우(left-to-right)인지 우→좌(right-to-left)인지에 따라 달라집니다.

페이지 구분을 펼침에서 왼쪽/오른쪽이 아니라 펼침의 앞쪽(earlier) 또는 뒤쪽(later)으로 제어할 수 있도록, 이 모듈은 page-break-afterpage-break-before 속성에 대해 다음 추가 키워드를 도입합니다 [CSS2]:

recto
펼침에서 좌→우 페이지 진행에서는 right에, 우→좌 페이지 진행에서는 left에 해당함.
verso
펼침에서 좌→우 페이지 진행에서는 left에, 우→좌 페이지 진행에서는 right에 해당함.

이 값들은 지정된 그대로 계산되며, [css-break-3]에서 추가로 정의됩니다.

작성자들은 보통 페이지 번호를 물리적 배치로 위치시키지만, 헤더 내용은 종종 펼침에서 어느 쪽이 앞쪽이냐에 따라 정해집니다. 따라서, 흐름-기준 페이지 선택자도 흐름-기준 페이지 선택을 지원하기 위해 추가됩니다:

:recto
좌→우 페이지 진행에서는 ':right', 우→좌에서는 ':left'와 같음.
:verso
좌→우 페이지 진행에서는 ':left', 우→좌에서는 ':right'와 같음.

흐름-기준 페이지 선택자는 ':left' 및 ':right' 페이지 선택자와 동일한 특이성을 가집니다.

4. 흐름-기준 박스 모델 속성

많은 서식 효과에서, 영향을 받는 축 또는 방향이 값이 아니라 속성 이름에 인코딩됩니다. 각 속성의 방향 또는 축 매핑 (흐름-기준 또는 물리적) 을 그 매핑 논리(mapping logic)라고 부릅니다. 기존에는 모든 속성이 물리적 기준으로 인코딩되어 있었으나, 이 명세서는 CSS2의 물리적 박스 모델 속성에 대응하는 흐름-기준 등가 CSS 속성을 도입합니다.

참고: 최신 CSS 명세는 대부분 흐름-기준 또는 줄-기준(line-relative) 속성을 정의하거나 기존의 물리적 속성을 보완할 것입니다.

각각의 병렬 흐름-기준물리적 속성 집합 (단축 속성(shorthand)은 제외)은 박스의 다양한 면 또는 치수에 대해 등가 스타일을 설정한다는 점에서 논리 속성 그룹(logical property group)을 이룹니다. 예를 들어 padding-* 속성들은 하나의 논리 속성 그룹을, margin-* 속성들은 별도의 논리 속성 그룹을, border-*-style 속성들은 또 다른 논리 속성 그룹을 구성합니다. (각 롱핸드 속성(longhand property)은 최대 한 개의 논리 속성 그룹에만 속할 수 있습니다.)

논리 속성 그룹 내에서, 해당 흐름-기준물리적 속성들은 요소 자신의 계산값(computed value)작성 모드를 기준으로 한 쌍으로 매핑됩니다. 각 속성의 지정값(specified value)은 별개이지만, 쌍을 이룬 속성들은 동일한 계산값을 공유합니다. 이 공유 값은 계단형(cascading) 시 두 속성 선언을 하나처럼 함께 계단화해서 결정합니다; 즉, 두 속성 쌍의 계산값은 CSS 계단형에서 우선순위가 더 높은 속성의 지정값에서 파생됩니다. [CSS-CASCADE-3]

이 방식은 구현체가 CSS 선언 블록 내 선언 순서를 항상 따라야 함을 요구합니다. (이전 CSS 계단형에서는 요구되지 않았음) 또한 writing-mode, direction, text-orientation흐름-기준물리적 선언의 논리 속성 그룹을 계단화하여 계산값을 찾기 전에 반드시 먼저 계산되어야 함을 요구합니다.

예를 들어, 다음 규칙이 있다고 하자:
p {
  margin-inline-start: 1px;
  margin-left: 2px;
  margin-inline-end: 3px;
}

계산된 writing-modehorizontal-tb, 계산된 directionltr인 단락의 경우, margin-left의 계산값은 2px입니다. 왜냐하면 해당 writing-modedirection에서는 margin-inline-startmargin-left가 계산값을 공유하며, margin-left 선언이 margin-inline-start 선언 뒤에 나오기 때문입니다. 하지만 계산된 directionrtl일 경우, margin-left의 계산값은 3px이 됩니다. 이는 margin-inline-endmargin-left가 계산값을 공유하고, margin-inline-end 선언이 margin-left 선언 뒤에 오기 때문입니다.

[CSSOM]의 계산값 반환 API (getComputedStyle() 등)는 이러한 쌍의 각 개별 속성에 대해 동일한 값을 반환해야 합니다.

참고: 모든 흐름-기준 속성을 요소 자신의 writing-mode에 따라 물리 등가 속성으로 매핑하면 계단형(cascading) 계산이 단순해지고 작성자에게도 직관적인 모델이 됩니다. 하지만 많은 경우엔 이렇게 하면 문제가 있으며, 예: 이 논의를 참고하세요. 작성자는 요소의 writing-mode를 부모와 다르게 사용할 때 원하는 매핑 동작을 얻으려면 중첩 요소를 사용해야 할 수 있습니다.

각 속성의 상속은 부모의 해당 속성에서 이루어집니다. 예를 들어, inline-start 마진이 rtl 박스에서는 오른쪽 마진이 되더라도, 이 박스의 margin-inline-start는 부모가 ltr일 때 그 margin-inline-start 값을 상속합니다. 이때 그 값은 부모의 왼쪽 마진이기도 합니다.

별도 명시 없는 한, 논리와 물리 롱핸드를 모두 포괄하는 단축 속성(shorthand properties) (예: all 축약형) 은 물리 롱핸드를 마지막에 설정합니다. 예를 들어 all: inherit는 모든 margin 속성에 inherit를 적용하지만, 물리 롱핸드가 마지막에 설정되므로 자식의 margin은 부모의 물리 counterpart에서 상속받게 됩니다.

테스트

4.1. 논리적 높이와 논리적 너비: block-size/inline-size, min-block-size/min-inline-size, 그리고 max-block-size/max-inline-size 속성

이름(Name): block-size, inline-size
값(Value): <'width'>
초기값(Initial): auto
적용 대상(Applies to): heightwidth와 동일
상속됨(Inherited): 아니오
퍼센트 값(Percentages): 해당 물리 속성과 동일
계산값(Computed value): height, width와 동일
정규 순서(Canonical order): 문법에 따름
애니메이션 종류(Animation type): 계산값 타입 기준(by computed value type)
논리 속성 그룹(Logical property group): size
테스트

이 속성들은 heightwidth 속성과 대응됩니다. 매핑은 요소의 writing-mode에 따라 다릅니다.

이름(Name): min-block-size, min-inline-size
값(Value): <'min-width'>
초기값(Initial): 0
적용 대상(Applies to): heightwidth와 동일
상속됨(Inherited): 아니오
퍼센트 값(Percentages): 해당 물리 속성과 동일
계산값(Computed value): min-height, min-width와 동일
정규 순서(Canonical order): 문법에 따름
애니메이션 종류(Animation type): 계산값 타입 기준(by computed value type)
논리 속성 그룹(Logical property group): min-size
테스트

이 속성들은 min-heightmin-width 속성과 대응됩니다. 매핑은 요소의 writing-mode에 따라 결정됩니다.

이름(Name): max-block-size, max-inline-size
값(Value): <'max-width'>
초기값(Initial): none
적용 대상(Applies to): heightwidth와 동일
상속됨(Inherited): 아니오
퍼센트 값(Percentages): 해당 물리 속성과 동일
계산값(Computed value): max-height, max-width와 동일
정규 순서(Canonical order): 문법에 따름
애니메이션 종류(Animation type): 계산값 타입 기준(by computed value type)
논리 속성 그룹(Logical property group): max-size
테스트

이 속성들은 max-heightmax-width 속성과 대응됩니다. 매핑은 요소의 writing-mode에 따라 다릅니다.

4.2. 흐름-기준 마진: margin-block-start, margin-block-end, margin-inline-start, margin-inline-end 속성과 margin-blockmargin-inline 단축 속성

이름(Name): margin-block-start, margin-block-end, margin-inline-start, margin-inline-end
값(Value): <'margin-top'>
초기값(Initial): 0
적용대상(Applies to): margin-top과 동일
상속됨(Inherited): 아니오
퍼센트값(Percentages): 해당 물리 속성과 동일
계산값(Computed value): 해당 margin-* 속성과 동일
정규 순서(Canonical order): 문법에 따름
애니메이션 종류(Animation type): 계산값 타입 기준
논리 속성 그룹(Logical property group): margin
테스트

이 속성들은 margin-top, margin-bottom, margin-left, margin-right 속성과 대응됩니다. 매핑은 요소의 writing-mode, direction, text-orientation에 따라 결정됩니다.

이름(Name): margin-block, margin-inline
값(Value): <'margin-top'>{1,2}
초기값(Initial): 각 개별 속성 참조
적용대상(Applies to): 각 개별 속성 참조
상속됨(Inherited): 각 개별 속성 참조
퍼센트값(Percentages): 각 개별 속성 참조
계산값(Computed value): 각 개별 속성 참조
애니메이션 종류(Animation type): 각 개별 속성 참조
정규 순서(Canonical order): 문법에 따름
테스트

이 두 단축 속성(shorthand properties)margin-block-start & margin-block-endmargin-inline-start & margin-inline-end를 각각 설정합니다. 첫 번째 값은 start 가장자리 스타일을, 두 번째 값은 end 가장자리 스타일을 나타냅니다. 하나의 값만 주어지면, startend 가장자리 모두에 적용됩니다.

4.3. 흐름-기준 오프셋: inset-block-start, inset-block-end, inset-inline-start, inset-inline-end 속성과 inset-block, inset-inline, inset 단축 속성

top, left, bottom, right 물리 속성, 이들과 대응하는 inset-block-start, inset-block-end, inset-inline-start, inset-inline-end 흐름-기준 속성, 그리고 inset-block, inset-inline, inset 단축 속성을 합쳐 inset 속성(inset properties)이라고 합니다.

이름(Name): inset-block-start, inset-block-end, inset-inline-start, inset-inline-end
값(Value): <'top'>
초기값(Initial): auto
적용대상(Applies to): 포지션이 지정된 요소(positioned elements)
상속됨(Inherited): 아니오
퍼센트값(Percentages): 해당 물리 속성과 동일
계산값(Computed value): 해당 top/right/bottom/left 속성과 동일
정규 순서(Canonical order): 문법에 따름
애니메이션 종류(Animation type): 계산값 타입 기준
논리 속성 그룹(Logical property group): inset
테스트

이 속성들은 top, bottom, left, right 속성과 대응됩니다. 매핑은 요소의 writing-mode, direction, text-orientation에 따라 결정됩니다.

이름(Name): inset-block, inset-inline
값(Value): <'top'>{1,2}
초기값(Initial): 각 개별 속성 참조
적용대상(Applies to): 각 개별 속성 참조
상속됨(Inherited): 각 개별 속성 참조
퍼센트값(Percentages): 각 개별 속성 참조
계산값(Computed value): 각 개별 속성 참조
애니메이션 종류(Animation type): 각 개별 속성 참조
정규 순서(Canonical order): 문법에 따름

이 두 단축 속성(shorthand properties)inset-block-start & inset-block-endinset-inline-start & inset-inline-end를 각각 설정합니다. 첫번째 값은 start 가장자리 스타일을, 두번째 값은 end 가장자리 스타일을 나타냅니다. 하나의 값만 주어지면, startend 가장자리 모두에 적용됩니다.

이름(Name): inset
값(Value): <'top'>{1,4}
초기값(Initial): 각 개별 속성 참조
적용대상(Applies to): 각 개별 속성 참조
상속됨(Inherited): 각 개별 속성 참조
퍼센트값(Percentages): 각 개별 속성 참조
계산값(Computed value): 각 개별 속성 참조
애니메이션 종류(Animation type): 각 개별 속성 참조
정규 순서(Canonical order): 문법에 따름
테스트

단축 속성(shorthand property)top, right, bottom, left 속성을 설정합니다. 값들은 하위 속성(sub-properties)에 대해 margin과 동일하게 할당됩니다.

4.4. 흐름-기준 패딩: padding-block-start, padding-block-end, padding-inline-start, padding-inline-end 속성 및 padding-block, padding-inline 단축 속성

이름: padding-block-start, padding-block-end, padding-inline-start, padding-inline-end
값: <'padding-top'>
초기값: 0
적용 대상: padding-top과 동일
상속됨: 아니오
퍼센트값: 해당 물리 속성과 동일
계산값: 해당 padding-* 속성과 동일
정규 순서: 문법에 따름
애니메이션 타입: 계산값 타입 기준
논리 속성 그룹: padding
테스트

이 속성들은 padding-top, padding-bottom, padding-left, padding-right 속성과 대응됩니다. 매핑은 요소의 writing-mode, direction, text-orientation에 따라 결정됩니다.

이름: padding-block, padding-inline
값: <'padding-top'>{1,2}
초기값: 각 개별 속성 참조
적용 대상: 각 개별 속성 참조
상속됨: 각 개별 속성 참조
퍼센트값: 각 개별 속성 참조
계산값: 각 개별 속성 참조
애니메이션 타입: 각 개별 속성 참조
정규 순서: 문법에 따름
테스트

이 두 단축 속성padding-block-start & padding-block-endpadding-inline-start & padding-inline-end를 각각 설정합니다. 첫 번째 값은 start 가장자리 스타일을, 두 번째 값은 end 가장자리 스타일을 나타냅니다. 값이 하나만 주어지면 startend 가장자리 모두에 적용됩니다.

4.5. 흐름-기준 테두리

4.5.1. 흐름-기준 테두리 두께: border-block-start-width, border-block-end-width, border-inline-start-width, border-inline-end-width 속성과 border-block-width, border-inline-width 단축 속성

이름(Name): border-block-start-width, border-block-end-width, border-inline-start-width, border-inline-end-width
값(Value): <'border-top-width'>
초기값(Initial): medium
적용 대상(Applies to): border-top-width와 동일
상속됨(Inherited): 아니오
퍼센트값(Percentages): 해당 없음
계산값(Computed value): 해당 border-*-width 속성과 동일
정규 순서(Canonical order): 문법에 따름
애니메이션 타입(Animation type): 계산값 타입 기준
논리 속성 그룹(Logical property group): border-width
테스트

이 속성들은 border-top-width, border-bottom-width, border-left-width, border-right-width 속성과 대응됩니다. 매핑은 요소의 writing-mode, direction, text-orientation에 따라 결정됩니다.

이름(Name): border-block-width, border-inline-width
값(Value): <'border-top-width'>{1,2}
초기값(Initial): 각 개별 속성 참조
적용 대상(Applies to): 각 개별 속성 참조
상속됨(Inherited): 각 개별 속성 참조
퍼센트값(Percentages): 각 개별 속성 참조
계산값(Computed value): 각 개별 속성 참조
애니메이션 타입(Animation type): 각 개별 속성 참조
정규 순서(Canonical order): 문법에 따름
테스트

이 두 단축 속성border-block-start-width & border-block-end-widthborder-inline-start-width & border-inline-end-width를 각각 설정합니다. 첫 번째 값은 start 가장자리 두께, 두 번째 값은 end 가장자리 두께를 나타냅니다. 값이 하나만 주어지면 startend 가장자리 모두에 적용됩니다.

4.5.2. 흐름-기준 테두리 스타일: border-block-start-style, border-block-end-style, border-inline-start-style, border-inline-end-style 속성과 border-block-style, border-inline-style 단축 속성

이름(Name): border-block-start-style, border-block-end-style, border-inline-start-style, border-inline-end-style
값(Value): <'border-top-style'>
초기값(Initial): none
적용 대상(Applies to): border-top-style과 동일
상속됨(Inherited): 아니오
퍼센트값(Percentages): 해당 없음
계산값(Computed value): 해당 border-*-style 속성과 동일
정규 순서(Canonical order): 문법에 따름
애니메이션 타입(Animation type): 불연속(discrete)
논리 속성 그룹(Logical property group): border-style
테스트

이 속성들은 border-top-style, border-bottom-style, border-left-style, border-right-style 속성과 대응됩니다. 매핑은 요소의 writing-mode, direction, text-orientation에 따라 결정됩니다.

이름: border-block-style, border-inline-style
값: <'border-top-style'>{1,2}
초기값: 각 개별 속성 참조
적용 대상: 각 개별 속성 참조
상속됨: 각 개별 속성 참조
퍼센트값: 각 개별 속성 참조
계산값: 각 개별 속성 참조
애니메이션 타입: 각 개별 속성 참조
정규 순서: 문법에 따름

이 두 단축 속성border-block-start-style & border-block-end-styleborder-inline-start-style & border-inline-end-style를 각각 설정합니다. 첫 번째 값은 start 가장자리 스타일을, 두 번째 값은 end 가장자리 스타일을 나타냅니다. 값이 하나만 주어지면 startend 가장자리 모두에 적용됩니다.

4.5.3. 흐름-기준 테두리 색상: border-block-start-color, border-block-end-color, border-inline-start-color, border-inline-end-color 속성 및 border-block-color, border-inline-color 단축 속성

이름: border-block-start-color, border-block-end-color, border-inline-start-color, border-inline-end-color
값: <'border-top-color'>
초기값: currentcolor
적용 대상: border-top-color와 동일
상속됨: 아니오
퍼센트값: 해당 없음
계산값: 해당 border-*-color 속성과 동일
정규 순서: 문법에 따름
애니메이션 타입: 계산값 타입 기준
논리 속성 그룹: border-color
테스트

이 속성들은 border-top-color, border-bottom-color, border-left-color, border-right-color 속성과 대응됩니다. 매핑은 요소의 writing-mode, direction, text-orientation에 따라 결정됩니다.

이름: border-block-color, border-inline-color
값: <'border-top-color'>{1,2}
초기값: 각 개별 속성 참조
적용 대상: 각 개별 속성 참조
상속됨: 각 개별 속성 참조
퍼센트값: 각 개별 속성 참조
계산값: 각 개별 속성 참조
애니메이션 타입: 각 개별 속성 참조
정규 순서: 문법에 따름

이 두 단축 속성border-block-start-color & border-block-end-colorborder-inline-start-color & border-inline-end-color를 각각 설정합니다. 첫 번째 값은 start 가장자리 색상을, 두 번째 값은 end 가장자리 색상을 나타냅니다. 하나의 값만 주어지면 startend 가장자리 모두에 적용됩니다.

4.5.4. 흐름-기준 테두리 단축 속성: border-block-start, border-block-end, border-inline-start, border-inline-end 속성과 border-block, border-inline 단축 속성

이름: border-block-start, border-block-end, border-inline-start, border-inline-end
값: <'border-top-width'> || <'border-top-style'> || <color>
초기값: 각 개별 속성 참조
적용 대상: 각 개별 속성 참조
상속됨: 각 개별 속성 참조
퍼센트값: 각 개별 속성 참조
계산값: 각 개별 속성 참조
애니메이션 타입: 각 개별 속성 참조
정규 순서: 문법에 따름
테스트

이 속성들은 border-top, border-bottom, border-left, border-right 속성과 대응됩니다. 매핑은 요소의 writing-mode, direction, text-orientation에 따라 결정됩니다.

이름: border-block, border-inline
값: <'border-block-start'>
초기값: 각 개별 속성 참조
적용 대상: 각 개별 속성 참조
상속됨: 각 개별 속성 참조
퍼센트값: 각 개별 속성 참조
계산값: 각 개별 속성 참조
애니메이션 타입: 각 개별 속성 참조
정규 순서: 문법에 따름
테스트

이 두 단축 속성border-block-start & border-block-end 또는 border-inline-start & border-inline-end를 각각 동일한 스타일로 설정합니다.

4.6. 흐름-기준 모서리 반경: border-start-start-radius, border-start-end-radius, border-end-start-radius, border-end-end-radius 속성

이름: border-start-start-radius, border-start-end-radius, border-end-start-radius, border-end-end-radius
값: <'border-top-left-radius'>
초기값: border-top-left-radius와 동일
적용 대상: border-top-left-radius와 동일
상속됨: 아니오
퍼센트값: border-top-left-radius와 동일
계산값: 해당 물리 border-*-radius 속성과 동일
정규 순서: 문법에 따름
애니메이션 타입: 계산값 타입 기준
논리 속성 그룹: border-radius
테스트

이 속성들은 border-top-left-radius, border-bottom-left-radius, border-top-right-radius, border-bottom-right-radius 속성과 대응됩니다. 매핑은 요소의 writing-mode, direction, text-orientation에 따라 달라지며, 첫 번째 start/end는 block 축 방향 측면을, 두 번째는 inline 축 방향 측면을 지정합니다 (즉, ‘border-block-inline-radius’ 패턴과 동일).

4.7. 4방향 단축 속성: margin, padding, border-width, border-style, border-color 단축 속성

margin, padding, border 단축 속성은 기본적으로 물리 속성에 값을 설정합니다. 하지만 작성자는 속성 값의 맨 앞에 logical 키워드를 명시하여, 값이 물리 속성이 아니라 흐름-기준 속성에 매핑됨을 지정할 수 있습니다.

이 기능의 제안 문법은 논의 중이며, 여기 설명된 방식에서 거의 확실히 변경될 것입니다. 본 절은 대안 논의를 촉진하고, 영향 받는 속성을 문서화하며, 궁극적으로 선택되는 구문적 전환(syntactic switch)이 해석에 미칠 것으로 예상되는 영향에 대해 명시하기 위해 초안에 포함되어 있습니다.

아래의 [CSS2] 단축 속성들은 logical 키워드를 허용합니다:

이들 속성의 문법은 아래를

<value-type>{1,4}

다음으로 대체한 것과 사실상 동일합니다.

logical? <value-type>{1,4}

값에 logical 키워드가 있을 때, 그 뒤의 값은 아래와 같이 흐름-기준 롱핸드에 대응됩니다:

다음 예제에서, 두 규칙은 동등합니다:
blockquote {
  margin: logical 1em 2em 3em 4em;
}
blockquote {
  margin-block-start:  1em;
  margin-inline-start: 2em;
  margin-block-end:    3em;
  margin-inline-end:   4em;
}

5. 감사의 말

Cameron McCormack, David Baron, Oriol Brufau, Shinyu Murakami, Tab Atkins

6. 변경 기록

2018년 8월 27일 작업 초안 이후의 변경 사항:

이전 에디터 초안과 2017년 5월 18일 최초 공개 작업 초안 간의 변경 내역:

프라이버시 고려사항

이 명세에서 보고된 새로운 프라이버시 고려사항은 없습니다.

보안 고려사항

이 명세에서 보고된 새로운 보안 고려사항은 없습니다.

테스트

다른 명세의 기능


적합성

문서 규칙

적합성 요구사항은 설명적 진술과 RFC 2119 용어의 조합으로 표현됩니다. “MUST”, “MUST NOT”, “REQUIRED”, “SHALL”, “SHALL NOT”, “SHOULD”, “SHOULD NOT”, “RECOMMENDED”, “MAY”, “OPTIONAL”라는 핵심 단어는 이 명세의 규범적 부분에서 RFC 2119의 정의대로 해석해야 합니다. 다만 가독성을 위해, 본 명세에서는 이러한 단어들이 모두 대문자로 표기되지 않습니다.

이 명세의 모든 텍스트는 특별히 비규범, 예시(example), 참고(note)로 명시된 부분을 제외하고는 규범적입니다. [RFC2119]

이 명세의 예제들은 “예를 들어(for example)” 또는 class="example"와 같이 규범적 본문과 구분되어 소개됩니다:

이것은 참고용 예제입니다.

정보성 주석(참고)은 “Note”라는 단어로 시작하고, class="note"와 같이 규범적 본문과 구분되어 표시됩니다:

Note, 이것은 정보성 주석입니다.

권고(advisement)는 주의를 환기하도록 스타일링된 규범적 부분이며, <strong class="advisement">와 같이 규범적 본문과 구분되어 표시됩니다: UA는 접근 가능한 대체 수단을 반드시 제공해야 합니다.

테스트

이 명세의 내용과 관련된 테스트는 이렇게 “테스트” 블록에 기록될 수 있습니다. 이러한 블록은 모두 비규범적입니다.


적합성 클래스

본 명세의 적합성은 세 가지 적합성 클래스로 정의됩니다:

스타일 시트
CSS 스타일 시트.
렌더러
스타일 시트 의미를 해석하고 그 스타일 시트를 사용하는 문서를 렌더링하는 UA.
작성 도구
스타일 시트를 작성하는 UA.

스타일 시트가 이 명세에 적합하다고 하려면, 이 모듈에서 정의한 구문을 사용하는 모든 문(statement)이 CSS 일반 문법 및 각 기능의 개별 문법에 따라 유효해야 합니다.

렌더러가 이 명세에 적합하려면, 해당 스타일 시트를 관련 명세에 정의된 대로 해석함과 동시에, 이 명세에서 정의한 모든 기능을 올바르게 파싱하고 이를 바탕으로 문서를 렌더링하면 됩니다. 다만 UA가 장치의 한계로 인해 문서를 제대로 렌더링하지 못해도, 그로 인해 UA가 부적합성이 되지는 않습니다. (예: UA가 흑백 모니터에서 색상을 렌더링할 필요는 없습니다.)

작성 도구가 이 명세에 적합하려면, 작성하는 스타일 시트가 CSS 일반 문법, 이 모듈 각 기능의 개별 문법, 그리고 이 모듈에서 기술한 스타일 시트의 기타 적합성 요건을 모두 충족해야 합니다.

부분 구현

작성자가 미래까지 호환 가능한 파싱 규칙을 활용해 폴백(fallback) 값을 할당할 수 있도록, CSS 렌더러는 사용 가능한 수준의 지원이 없는 at-rule, 속성, 속성 값, 키워드, 기타 구문구성요소는 반드시 유효하지 않은 것으로 취급해 (해당 부분 무시)야 합니다. 특히 UA는 지원하지 않는 구성요소 값은 선택적으로 무시하면서 지원하는 값만 적용해서는 안 됩니다. 단일 선언에 한 값이라도 유효하지 않으면(CSS 지원 불가 값은 유효하지 않음), CSS 규칙상 전체 선언은 무시해야 합니다.

불안정 및 독자 기능의 구현

향후 안정화될 CSS 기능과 충돌하지 않도록, CSSWG는 최선의 구현 방법에 따라 불안정 기능 및 독자 확장 기능을 구현할 것을 권장합니다.

비실험적 구현

명세가 Candidate Recommendation(후보 권고) 단계에 이르면, 비실험적 구현이 가능해집니다. 구현자는 스펙에 따라 정확하게 구현했음을 입증할 수 있는 모든 CR 단계 기능에 대해 접두어 없는(정식) 구현을 배포해야 합니다.

CSS의 구현간 상호운용성을 확보하고 유지하기 위해, CSS 작업 그룹은 비실험적 CSS 렌더러가 접두어 없는 구현을 공개하기 전에 구현 보고서(필요시 해당 구현에 사용된 테스트케이스도 함께)를 W3C에 제출해 줄 것을 요청합니다. W3C에 제출된 테스트케이스는 CSS 작업 그룹이 검토 및 수정할 수 있습니다.

테스트케이스와 구현 보고서 제출 방법의 추가 정보는 CSS 작업 그룹 웹사이트 https://www.w3.org/Style/CSS/Test/에서 확인할 수 있습니다. 궁금한 점이 있으면 public-css-testsuite@w3.org 메일링 리스트로 문의하세요.

색인

이 명세서에서 정의된 용어

참조에 의해 정의된 용어

참고문헌

규범적 참고문헌

[CSS-BACKGROUNDS-3]
Elika Etemad; Brad Kemper. CSS Backgrounds and Borders Module Level 3. 2024년 3월 11일. CRD. URL: https://www.w3.org/TR/css-backgrounds-3/
[CSS-BOX-4]
Elika Etemad. CSS Box Model Module Level 4. 2024년 8월 4일. WD. URL: https://www.w3.org/TR/css-box-4/
[CSS-BREAK-3]
Rossen Atanassov; Elika Etemad. CSS Fragmentation Module Level 3. 2018년 12월 4일. CR. URL: https://www.w3.org/TR/css-break-3/
[CSS-CASCADE-3]
Elika Etemad; Tab Atkins Jr.. CSS Cascading and Inheritance Level 3. 2021년 2월 11일. REC. URL: https://www.w3.org/TR/css-cascade-3/
[CSS-CASCADE-5]
Elika Etemad; Miriam Suzanne; Tab Atkins Jr.. CSS Cascading and Inheritance Level 5. 2022년 1월 13일. CR. URL: https://www.w3.org/TR/css-cascade-5/
[CSS-CASCADE-6]
Elika Etemad; Miriam Suzanne; Tab Atkins Jr.. CSS Cascading and Inheritance Level 6. 2024년 9월 6일. WD. URL: https://www.w3.org/TR/css-cascade-6/
[CSS-COLOR-5]
Chris Lilley; et al. CSS Color Module Level 5. 2025년 3월 18일. WD. URL: https://www.w3.org/TR/css-color-5/
[CSS-DISPLAY-4]
Elika Etemad; Tab Atkins Jr.. CSS Display Module Level 4. 2025년 11월 6일. WD. URL: https://www.w3.org/TR/css-display-4/
[CSS-POSITION-3]
Elika Etemad; Tab Atkins Jr.. CSS Positioned Layout Module Level 3. 2025년 10월 7일. WD. URL: https://www.w3.org/TR/css-position-3/
[CSS-SCROLL-SNAP-1]
Matt Rakow; et al. CSS Scroll Snap Module Level 1. 2021년 3월 11일. CR. URL: https://www.w3.org/TR/css-scroll-snap-1/
[CSS-SIZING-3]
Tab Atkins Jr.; Elika Etemad. CSS Box Sizing Module Level 3. 2021년 12월 17일. WD. URL: https://www.w3.org/TR/css-sizing-3/
[CSS-TABLES-3]
François Remy; Greg Whitworth; David Baron. CSS Table Module Level 3. 2019년 7월 27일. WD. URL: https://www.w3.org/TR/css-tables-3/
[CSS-TEXT-3]
Elika Etemad; Koji Ishii; Florian Rivoal. CSS Text Module Level 3. 2024년 9월 30일. CRD. URL: https://www.w3.org/TR/css-text-3/
[CSS-UI-4]
Florian Rivoal. CSS Basic User Interface Module Level 4. 2021년 3월 16일. WD. URL: https://www.w3.org/TR/css-ui-4/
[CSS-VALUES-3]
Tab Atkins Jr.; Elika Etemad. CSS Values and Units Module Level 3. 2024년 3월 22일. CRD. URL: https://www.w3.org/TR/css-values-3/
[CSS-VALUES-4]
Tab Atkins Jr.; Elika Etemad. CSS Values and Units Module Level 4. 2024년 3월 12일. WD. URL: https://www.w3.org/TR/css-values-4/
[CSS-WRITING-MODES-3]
Elika Etemad; Koji Ishii. CSS Writing Modes Level 3. 2019년 12월 10일. REC. URL: https://www.w3.org/TR/css-writing-modes-3/
[CSS-WRITING-MODES-4]
Elika Etemad; Koji Ishii. CSS Writing Modes Level 4. 2019년 7월 30일. CR. URL: https://www.w3.org/TR/css-writing-modes-4/
[CSS2]
Bert Bos; et al. Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification. 2011년 6월 7일. REC. URL: https://www.w3.org/TR/CSS2/
[CSSOM]
Daniel Glazman; Emilio Cobos Álvarez. CSS Object Model (CSSOM). 2021년 8월 26일. WD. URL: https://www.w3.org/TR/cssom-1/
[RFC2119]
S. Bradner. Key words for use in RFCs to Indicate Requirement Levels. 1997년 3월. Best Current Practice. URL: https://datatracker.ietf.org/doc/html/rfc2119

속성 색인

이름 초기값 적용 대상 상속 %값 애니메이션 유형 정규 순서 계산값 논리 속성 그룹
block-size <'width'> auto height 및 width와 동일 no 해당 물리 속성과 동일 계산값 타입 기준 문법에 따름 height, width와 동일 size
border-block <'border-block-start'> 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 문법에 따름 각 개별 속성 참조
border-block-color <'border-top-color'>{1,2} 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 문법에 따름 각 개별 속성 참조
border-block-end <'border-top-width'> || <'border-top-style'> || <color> 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 문법에 따름 각 개별 속성 참조
border-block-end-color <'border-top-color'> currentcolor border-top-color와 동일 no 해당 없음 계산값 타입 기준 문법에 따름 해당 border-*-color 속성과 동일 border-color
border-block-end-style <'border-top-style'> none border-top-style과 동일 no 해당 없음 불연속 문법에 따름 해당 border-*-style 속성과 동일 border-style
border-block-end-width <'border-top-width'> medium border-top-width와 동일 no 해당 없음 계산값 타입 기준 문법에 따름 해당 border-*-width 속성과 동일 border-width
border-block-start <'border-top-width'> || <'border-top-style'> || <color> 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 문법에 따름 각 개별 속성 참조
border-block-start-color <'border-top-color'> currentcolor border-top-color와 동일 no 해당 없음 계산값 타입 기준 문법에 따름 해당 border-*-color 속성과 동일 border-color
border-block-start-style <'border-top-style'> none border-top-style과 동일 no 해당 없음 불연속 문법에 따름 해당 border-*-style 속성과 동일 border-style
border-block-start-width <'border-top-width'> medium border-top-width와 동일 no 해당 없음 계산값 타입 기준 문법에 따름 해당 border-*-width 속성과 동일 border-width
border-block-style <'border-top-style'>{1,2} 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 문법에 따름 각 개별 속성 참조
border-block-width <'border-top-width'>{1,2} 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 문법에 따름 각 개별 속성 참조
border-end-end-radius <'border-top-left-radius'> border-top-left-radius와 동일 border-top-left-radius와 동일 no border-top-left-radius와 동일 계산값 타입 기준 문법에 따름 해당 물리 border-*-radius 속성과 동일 border-radius
border-end-start-radius <'border-top-left-radius'> border-top-left-radius와 동일 border-top-left-radius와 동일 no border-top-left-radius와 동일 계산값 타입 기준 문법에 따름 해당 물리 border-*-radius 속성과 동일 border-radius
border-inline <'border-block-start'> 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 문법에 따름 각 개별 속성 참조
border-inline-color <'border-top-color'>{1,2} 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 문법에 따름 각 개별 속성 참조
border-inline-end <'border-top-width'> || <'border-top-style'> || <color> 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 문법에 따름 각 개별 속성 참조
border-inline-end-color <'border-top-color'> currentcolor border-top-color와 동일 no 해당 없음 계산값 타입 기준 문법에 따름 해당 border-*-color 속성과 동일 border-color
border-inline-end-style <'border-top-style'> none border-top-style과 동일 no 해당 없음 불연속 문법에 따름 해당 border-*-style 속성과 동일 border-style
border-inline-end-width <'border-top-width'> medium border-top-width와 동일 no 해당 없음 계산값 타입 기준 문법에 따름 해당 border-*-width 속성과 동일 border-width
border-inline-start <'border-top-width'> || <'border-top-style'> || <color> 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 문법에 따름 각 개별 속성 참조
border-inline-start-color <'border-top-color'> currentcolor border-top-color와 동일 no 해당 없음 계산값 타입 기준 문법에 따름 해당 border-*-color 속성과 동일 border-color
border-inline-start-style <'border-top-style'> none border-top-style과 동일 no 해당 없음 불연속 문법에 따름 해당 border-*-style 속성과 동일 border-style
border-inline-start-width <'border-top-width'> medium border-top-width와 동일 no 해당 없음 계산값 타입 기준 문법에 따름 해당 border-*-width 속성과 동일 border-width
border-inline-style <'border-top-style'>{1,2} 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 문법에 따름 각 개별 속성 참조
border-inline-width <'border-top-width'>{1,2} 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 문법에 따름 각 개별 속성 참조
border-start-end-radius <'border-top-left-radius'> border-top-left-radius와 동일 border-top-left-radius와 동일 no border-top-left-radius와 동일 계산값 타입 기준 문법에 따름 해당 물리 border-*-radius 속성과 동일 border-radius
border-start-start-radius <'border-top-left-radius'> border-top-left-radius와 동일 border-top-left-radius와 동일 no border-top-left-radius와 동일 계산값 타입 기준 문법에 따름 해당 물리 border-*-radius 속성과 동일 border-radius
inline-size <'width'> auto height 및 width와 동일 no 해당 물리 속성과 동일 계산값 타입 기준 문법에 따름 height, width와 동일 size
inset <'top'>{1,4} 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 문법에 따름 각 개별 속성 참조
inset-block <'top'>{1,2} 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 문법에 따름 각 개별 속성 참조
inset-block-end <'top'> auto positioned elements no 해당 물리 속성과 동일 계산값 타입 기준 문법에 따름 해당 top/right/bottom/left 속성과 동일 inset
inset-block-start <'top'> auto positioned elements no 해당 물리 속성과 동일 계산값 타입 기준 문법에 따름 해당 top/right/bottom/left 속성과 동일 inset
inset-inline <'top'>{1,2} 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 문법에 따름 각 개별 속성 참조
inset-inline-end <'top'> auto positioned elements no 해당 물리 속성과 동일 계산값 타입 기준 문법에 따름 해당 top/right/bottom/left 속성과 동일 inset
inset-inline-start <'top'> auto positioned elements no 해당 물리 속성과 동일 계산값 타입 기준 문법에 따름 해당 top/right/bottom/left 속성과 동일 inset
margin-block <'margin-top'>{1,2} 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 문법에 따름 각 개별 속성 참조
margin-block-end <'margin-top'> 0 margin-top과 동일 no 해당 물리 속성과 동일 계산값 타입 기준 문법에 따름 해당 margin-* 속성과 동일 margin
margin-block-start <'margin-top'> 0 margin-top과 동일 no 해당 물리 속성과 동일 계산값 타입 기준 문법에 따름 해당 margin-* 속성과 동일 margin
margin-inline <'margin-top'>{1,2} 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 문법에 따름 각 개별 속성 참조
margin-inline-end <'margin-top'> 0 margin-top과 동일 no 해당 물리 속성과 동일 계산값 타입 기준 문법에 따름 해당 margin-* 속성과 동일 margin
margin-inline-start <'margin-top'> 0 margin-top과 동일 no 해당 물리 속성과 동일 계산값 타입 기준 문법에 따름 해당 margin-* 속성과 동일 margin
max-block-size <'max-width'> none height 및 width와 동일 no 해당 물리 속성과 동일 계산값 타입 기준 문법에 따름 max-height, max-width와 동일 max-size
max-inline-size <'max-width'> none height 및 width와 동일 no 해당 물리 속성과 동일 계산값 타입 기준 문법에 따름 max-height, max-width와 동일 max-size
min-block-size <'min-width'> 0 height 및 width와 동일 no 해당 물리 속성과 동일 계산값 타입 기준 문법에 따름 min-height, min-width와 동일 min-size
min-inline-size <'min-width'> 0 height 및 width와 동일 no 해당 물리 속성과 동일 계산값 타입 기준 문법에 따름 min-height, min-width와 동일 min-size
padding-block <'padding-top'>{1,2} 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 문법에 따름 각 개별 속성 참조
padding-block-end <'padding-top'> 0 padding-top과 동일 no 해당 물리 속성과 동일 계산값 타입 기준 문법에 따름 해당 padding-* 속성과 동일 padding
padding-block-start <'padding-top'> 0 padding-top과 동일 no 해당 물리 속성과 동일 계산값 타입 기준 문법에 따름 해당 padding-* 속성과 동일 padding
padding-inline <'padding-top'>{1,2} 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 각 개별 속성 참조 문법에 따름 각 개별 속성 참조
padding-inline-end <'padding-top'> 0 padding-top과 동일 no 해당 물리 속성과 동일 계산값 타입 기준 문법에 따름 해당 padding-* 속성과 동일 padding
padding-inline-start <'padding-top'> 0 padding-top과 동일 no 해당 물리 속성과 동일 계산값 타입 기준 문법에 따름 해당 padding-* 속성과 동일 padding

이슈 색인

불안정한 항목 이 모듈의 일부 구현은 웹에서 CSS Writing Modes 구현을 출시하기 위해(기본 HTML 스타일을 올바르게 구현하기 위해) 사실상 필요합니다. 이에 CSSWG는 § 2 흐름-기준 값: block-start, block-end, inline-start, inline-end§ 4 흐름-기준 박스 모델 속성의 필요한 기능을 출시 승인하기로 결정했습니다. (추가 배경은 FPWD 발표 참조.)

그러나 여전히 몇 가지 중요한 오픈 이슈가 있습니다:

이 이슈들에 대한 의견, 제안, 활용 사례를 환영합니다. GitHub에 등록하거나, @csswg로 트윗하거나, www-style@w3.org로 메일을 보내 주세요.
이 기능의 제안 문법은 논의 중이며, 여기 설명된 내용에서 거의 확실히 변경될 것입니다. 본 절은 대안 논의를 촉진하고, 영향 받는 속성을 문서화하며, 궁극적으로 선택될 구문 전환이 해석에 미칠 것으로 예상되는 영향을 명시하기 위해 초안에 남겨져 있습니다.