1. 序論
注記: 書字modeの適正な序論は、 `CSS3-WRITING-MODES$r を見よ。 この~moduleは,その各種用語に馴染んでいると見做す。 ◎ Note: See [CSS3-WRITING-MODES] for a proper introduction to writing modes; this module assumes familiarity with its terminology.
書記体系が異なれば書かれる方向も異なるので、様々な`書字mode$が存在する — [ 左から右へ + 上から下へ ],[ 右から左へ + 上から下へ ],[ 下から上へ + 右から左へ ]等々。 それに応じて、頁や行lの “始端” の様な論理的~概念から,行lの “上端” や段落の “左端~辺” の様な物理的~概念への対応付けも変わる。 ~layoutには,実際には書字~方向に相対的な側面もあるので、頁が他の書記体系に翻訳されれば,~layoutも変わることになる。 それ以外の側面は、内来的に頁の物理~方位に相対的になる。 ◎ Because different writing systems are written in different directions, a variety of writing modes exist: left to right, top to bottom; right to left, top to bottom; bottom to top, right to left; etc. logical concepts like the “start” of a page or line map differently to physical concepts like the “top” of a line or “left edge” of a paragraph. Some aspects of a layout are actually relative to the writing directions, and thus will vary when the page is translated to a different system; others are inherently relative to the page’s physical orientation.
例えば、~list, 見出し, 段落は,~Englishでは概して左端に整列されるが、実際には始端に整列される — ~Arabicでは,同じ構成子は右端に整列され、多言語の文書では,両~書記体系に則って収容する必要があるので。 しかしながら,頁~上の~buttonの落影は、一貫し続け~MUSTので,その~offsetは、視覚的な考慮点と物理~方向に基づいて選ばれ、書記体系に応じて変わることはない。 ◎ For example, lists, headings, and paragraphs are typically left-aligned in English; but actually they are start-aligned, because in Arabic the same constructs are right-aligned, and a multilingual document will need to accommodate both writing systems accordingly. However the drop shadows on buttons on a page must remain consistent throughout, so their offset will be chosen based on visual considerations and physical directions, and not vary by writing system.
~CSSは元々,物理~座標のみで制御するよう設計されていた。 この~moduleは、`~flowに相対的$な用語で~CSS~stylesheet内の宣言を表せるようにするため、~text~flowに相対的な等価物を導入する。 それは、次を定義する:
- 従来の, CSS2.1 の~propに等価になる,いくつかの新たな~propと値
- 新たな~propや値と従来のそれらとの対応関係
- それらの~propの~cascade法
- それらの構文を導出するための原則
将来の~CSS仕様では、その~prop, およびその値の定義に,新旧 両 座標の集合を組入れるものと期待されている ので、この~moduleは,より新たな~CSS特色機能の`~flowに相対的$な変種の導入には立ち入らない。
◎ Since CSS was originally designed with only physical coordinates in its controls, this module introduces text-flow–relative equivalents so that declarations in a CSS style sheet can be expressed in flow-relative terms. It defines the mapping and cascading of equivalent properties, some new properties and values equivalent to those in CSS2.1, and the principles used to derive their syntaxes. Future CSS specifications are expected to incorporate both sets of coordinates in their property and value definitions, so this module will not track the introduction of flow-relative variants of newer CSS features.CSS Writing Modes の 抽象~box用語 節は、~flowに相対的な用語から物理~用語へをどう対応付けるか定義している。 この対応関係は、~flowに相対的な~keywordと~propの解釈を制御する。 ◎ CSS Writing Modes’ Abstract Box Terminology section defines how to map between flow-relative and physical terms. This mapping controls the interpretation of flow-relative keywords and properties.
不安定なもの: この~moduleの各部の実装には,~Webに向けて(既定の~HTML~styleを正しく実装するために) CSS Writing Modes の実装を出荷することが実質的に要求されるので、この草案は,総体的には安定的とは言えないが, ~flowに相対的な値 節, および ~flowに相対的な~box~model~prop 節は,必要条件となる特色機能であり、出荷が認可されるものと CSSWG にて解決された。 しかしながら,この草案には不安定な特色機能がいくつかある(それらについては、~HTMLの既定の~stylesheetを実装することは要求されない): ◎ Things That Are Unstable Since implementation of parts of this module is effectively required for shipping an implementation of CSS Writing Modes on the Web (in order to correctly implement the default HTML styles), The CSSWG resolved that although the draft is not very stable overall, the requisite features in §2 Flow-Relative Values: block-start, block-end, inline-start, inline-end and §4 Flow-Relative Box Model Properties are approved for shipping. However, there are a number of unstable features in this draft (which are not required for implementing the HTML default style sheet, incidentally), and these are:
-
`float$p / `clear$p 用の各種~keyword — 来たる `float$p の二次元~構文がどうなるか まだはっきりしないので(これは2017 年 4 月に解決された。) ◎ The float and clear keywords, because it is not yet clear what the upcoming 2-dimensional syntax of float will be. (This has been resolved as of April 2017.) -
`inset-*^p ~prop — この接頭辞はまだ決まってないので。 (以前は `offset-*^p であったが、別の~CSS特色機能と競合していた。)(これは2017 年 6 月に解決された。) ◎ The inset-* properties, because the name of the prefix is undecided. (It used to be offset-*, but ended up conflicting with another CSS feature.) (This has been resolved as of June 2017.) - 略式~prop上の `logical^v ~keyword — この~keyword名は変更されるか,または何らかの構文的~markerに置換されるかもしれないので。 ◎ The logical keyword on shorthands, because the name of the keyword may change or it may be replaced by some other syntactic marker.
- `background-image-transform$p / `border-image-transform$p ~prop — これらは、編集者が知る限り誰からも考査を受けておらず,上手く設計されているかどうか~~判明していない。 ◎ The background-image-transform and border-image-transform properties, because they have, as far as the editor is aware, received no review from anyone and may or may not be well-designed.
これらの課題について~commentや示唆があれば歓迎する。 GitHub に提出するか, @csswg に向けて tweet するか, www-style@w3.org 宛に送信されたし。 ◎ Comments and suggestions are welcome on these issues. Please file them in GitHub, tweet them to @csswg, or send them to www-style@w3.org.
2. ~flowに相対的な値: `block-start^v, `block-end^v, `inline-start^v, `inline-end^v
物理~方向的~keyword値( `top^v, `bottom^v, `left^v, `right^v )を受容する~propは、`~flowに相対的$な適切な方向的~keywordも受容するように再定義される。 そのような事例においては、~flowに相対的な値は、対応する物理的な値に代えて利用できる。 複数の~keywordをとれるような~propに対しては、[ 物理的, ~flowに相対的 ]な値の組合せは,(将来の仕様にて指定されない限り)許容されない。 ◎ Properties that accept physical directional keyword values (top, bottom, left, or right) are redefined to also accept the appropriate flow-relative directional keywords. In such cases, the flow-relative values can be used in place of the corresponding physical values. For properties that take multiple keywords, combinations of flow-relative and physical values are not allowed (unless otherwise specified in a future specification).
~propがとれる値は、一次元にも二次元にもなり得る。 文脈的に一次元に拘束されるときは、~flowに相対的な~keywordは略語化される 【例: `inline-start^v → `start^v 】。 ◎ Properties can be either 1-dimensional or 2-dimensional. When contextually constrained to one dimension, the flow-relative keywords are abbreviated.
2.2. `float^p, `clear^p ~prop用の~flowに相対的な値
◎名 `float!p, `clear!p ◎新値 `inline-start^v | `inline-end^v ◎表終これらの~prop上の対応関係には、要素の`包含塊$の`書字mode$が利用される。 ◎ The mapping on these properties uses the writing mode of the element’s containing block.
注記: これらの~propは、CSS2 においては一次元であったが, 両~次元に~~拡張するよう計画されているので、`~flowに相対的$な~keywordは,略語化されない。 ◎ Note: These properties are 1-dimensional in CSS2, but are planned to be expanded to two dimensions, and therefore are given unabbreviated flow-relative keywords.
2.3. `text-align^p ~prop用の~flowに相対的な値
◎名 `text-align!p ◎新値 `start^v | `end^v ◎表終これらの値は `CSS3TEXT$r にて規範的に定義される。 ◎ These values are normatively defined in [CSS3TEXT].
2.4. `resize^p ~prop用の~flowに相対的な値
◎名 `resize!p ◎新値 `block^v | `inline^v ◎表終【 これは、~resize可能な方向を論理~方向に基づくようにする。 】
3. ~flowに相対的な頁の分類
~CSSにおいては、すべての頁は,~UAにより 左~頁か右~頁 のいずれかに分類される。 `CSS21$r しかしながら、いずれの頁が見開きの最初になるかは、`頁~進行$が右向きか左向きかに依存する。 ◎ In CSS, all pages are classified by user agents as either left pages or right pages. [CSS21] Which page is first in a spread, however, depends on whether the page progression is left-to-right or right-to-left.
何~頁かに分断するとき,与えられた頁を 見開きの左か右かでなく, 頁~進行において先に来させるか後に来させるかを制御できるようにするため、この~moduleは `page-break-after$p / `page-break-before$p ~prop `CSS21$r に対し,次の~keywordを追加する: ◎ To allow control of page breaking to the page that is on the earlier or later side of a spread, rather than to the left or right side of a spread, this module introduces the following additional keywords for the page-break-after and page-break-before properties [CSS21]:
- `recto@v
- `頁~進行$が[ 右向きの下では `right^v / 左向きの下では `left^v ]に等価。 ◎ Equivalent to right in left-to-right page progressions and left in right-to-left page progressions.
- `verso@v
- `頁~進行$が[ 右向きの下では `left^v / 左向きの下では `right^v ]に等価。 ◎ Equivalent to left in left-to-right page progressions and right in right-to-left page progressions.
これらの値は、 `CSS3-BREAK$r にて,より~~詳細に定義される。 【 `break-after$p / `break-before$p 】 ◎ These values are further defined in [CSS3-BREAK].
作者は、概して~flowに相対的な配置を利用して 頁~番号を置くが、~headerの内容は,見開きのどちらの頁がより先に来るかに依存する規約に従うことが多い。 ~flowに相対的な頁~選択を~supportするため、~flowに相対的な次の`頁~選択子$も追加される: ◎ Although authors typically place page numbers using physical placements, the contents of headers often follows conventions depending on which page in the spread is earlier. Therefore the following flow-relative page selectors are also added to support flow-relative page selection:
- `recto@ps
- `頁~進行$が[ 右向きの下では `right$ps / 左向きの下では `left$ps ]に等価。 ◎ Equivalent to ':right' in left-to-right page progressions and ':left' in right-to-left page progressions.
- `verso@ps
- `頁~進行$が[ 右向きの下では `left$ps / 左向きの下では `right$ps ]に等価。 ◎ Equivalent to ':left' in left-to-right page progressions and ':right' in right-to-left page progressions.
~flowに相対的な頁~選択子の詳細度は、 `left$ps / `right$ps 頁~選択子のそれに等しい。 ◎ The flow-relative page selectors have specificity equal to the ':left' and ':right' page selectors.
4. ~flowに相対的な~box~model~prop
この仕様は、物理的な~box~model~propに等価になるような,~flowに相対的な新たな~CSS~propを導入する。 ◎ This specification introduces new CSS properties that are flow-relative equivalents of physical box model properties.
~flowに相対的な~propは、指定値については,並行する物理的~propの指定値とは 別々になるが、算出値については,物理的~propと共有する。 どの~prop~pairが算出値を共有するかは、要素の[ `writing-mode$p, `direction$p, `text-orientation$p ]の算出値に依存する。 ◎ The specified values of these properties are separate from the specified values of the parallel physical properties, but the flow-relative and physical properties share computed values. Which pairs of properties share computed values depends on the element’s computed values of writing-mode, direction, and text-orientation.
注記: 【親ではなく,】 要素の自前の書字modeに依存することで、~cascadingの計算は単純になり,作者が素直に選り分けれるような~modelを与える。 しかしながら多くの事例で,問題ももたらし得る — 例えば、 この論点 を見よ。 ◎ Note: Depending on the element’s own writing mode simplifies the cascading calculations and gives a straightforward model for authors to reason about. However, it is problematic in many cases, see for example this discussion.
[ 物理的, ~flowに相対的 ]両~propから共有される算出値は、両~宣言を入力に,~CSS~cascade `CSS3-CASCADE$r を適用して決定される。 どちらが他方を上書きするかは、宣言が[ 物理的か, ~flowに相対的か ]によってではなく,~CSS~cascadeの規則のみから決定される。 ◎ A computed value that has flow-relative and physical properties as input is determined by applying the CSS cascade to declarations of both. Overriding is not determined by whether a declaration is flow-relative or physical, but only by the rules of the CSS cascade [CSS3-CASCADE].
注記: これには、実装が,~CSS宣言~blockの中で 【名前が異なる~propについても】 宣言の相対的~順序を保守することが要求される — それは、以前までは~CSS~cascadingに要求されていなかった。 ◎ Note that this requires implementations to maintain relative order of declarations within a CSS declaration block, which was not previously required for CSS cascading.
例えば、次の規則が与えられたとする: ◎ For example, given the following rule:
p { margin-inline-start: 1px; margin-left: 2px; margin-inline-end: 3px; }
段落( p 要素)の `writing-mode$p の算出値は `horizontal-tb$v で, `direction$p の算出値は `ltr$v とするとき、 `margin-left$p の算出値は `2px^v になる — その `writing-mode$p, `direction$p に対しては、 `margin-inline-start$p と `margin-left$p とが算出値を共有することになり, `margin-left$p の宣言は `margin-inline-start$p の宣言より後なので。 代わりに, `direction$p の算出値が `rtl$v であったなら、 `margin-left$p の算出値は `3px^v になる — `margin-inline-end$p と `margin-left$p とが算出値を共有することになり, `margin-inline-end$p の宣言は `margin-left$p の宣言より後なので。 ◎ In a paragraph with computed writing-mode being horizontal-tb and computed direction being ltr, the computed value of margin-left is 2px, since for that writing-mode and direction, margin-inline-start and margin-left share a computed value, and the declaration of margin-left is after the declaration of margin-inline-start. However, if the computed direction were instead rtl, the computed value of margin-left is 3px, since margin-inline-end and margin-left share a computed value, and the declaration of margin-inline-end is after the declaration of margin-left.
算出値を返すような `CSSOM$r ~API( `getComputedStyle()^c など)は、そのような等価な~prop~pairに対しては,同じ値を返さ~MUST。 ◎ [[CSSOM!]] APIs that return computed values (such as getComputedStyle()) must return the same value for equivalent pairs of such properties.
4.1. 論理~縦幅, 論理~横幅: `block-size^p, `inline-size^p ~prop
◎名 `block-size@p,`inline-size@p ◎値 `width$tp ◎初 `auto^v ◎適 `width$p / `height$p と同じ ◎ Same as width and height ◎継 されない ◎百 対応する物理的~propに対するときと同じ ◎ As for the corresponding physical property ◎算 対応する[ `width$p / `height$p ]と同じ ◎ Same as width, height ◎順 文法に従う ◎ア `width$p / `height$p と同じ ◎ Same as width, height ◎表終
これらの各~propは[ `width$p/`height$p ]~propに対応する。 その対応関係は、要素の `writing-mode$p に依存する。 ◎ These properties correspond to the width and height properties. The mapping depends on the element’s writing-mode.
◎名 `min-block-size@p,`min-inline-size@p ◎値 `min-width$tp ◎初 `0^v ◎適 `width$p / `height$p と同じ ◎ same as width and height ◎継 されない ◎百 対応する物理的~propに対するときと同じ ◎ As for the corresponding physical property ◎算 対応する[ `min-width$p / `min-height$p ]と同じ ◎ Same as min-width, min-height ◎順 文法に従う ◎ア `min-width$p / `min-height$p と同じ ◎ Same as min-width, min-height ◎表終
これらの各~propは[ `min-width$p / `min-height$p ]~propに対応する。 その対応関係は、要素の `writing-mode$p に依存する。 ◎ These properties correspond to the min-width and min-height properties. The mapping depends on the element’s writing-mode.
◎名 `max-block-size@p,`max-inline-size@p ◎値 `max-width$tp ◎初 `none^v ◎適 `width$p / `height$p と同じ ◎ same as width and height ◎継 されない ◎百 対応する物理的~propに対するときと同じ ◎ As for the corresponding physical property ◎算 対応する[ `max-width$p / `max-height$p ]と同じ ◎ Same as max-width, max-height ◎順 文法に従う ◎ア `max-width$p / `max-height$p と同じ ◎ Same as max-width, max-height ◎表終
これらの各~propは[ `max-width$p / `max-height$p ]~propに対応する。 その対応関係は、要素の `writing-mode$p に依存する。 ◎ These properties correspond to the max-width and max-height properties. The mapping depends on the element’s writing-mode.
4.2. ~flowに相対的な~margin: `margin-block-start^p, `margin-block-end^p, `margin-inline-start^p, `margin-inline-end^p ~propと `margin-block^p, `margin-inline^p 略式~prop
◎名 `margin-block-start@p,`margin-block-end@p,
`margin-inline-start@p,
`margin-inline-end@p ◎値 `margin-top$tp ◎初 `0^v ◎適 `margin-top$p と同じ ◎ Same as margin-top ◎継 されない ◎百 対応する物理的~propに対するときと同じ ◎ As for the corresponding physical property ◎算 対応する `margin-*^p ~propと同じ ◎ Same as corresponding margin-* properties ◎順 文法に従う ◎ア `margin-top$p と同じ ◎ Same as margin-top ◎表終
これらの各~propは[ `margin-top$p / `margin-bottom$p / `margin-left$p / `margin-right$p ]~propに対応する。 その対応関係は、親~要素の[ `writing-mode$p, `direction$p, `text-orientation$p ]に依存する。 ◎ These properties correspond to the margin-top, margin-bottom, margin-left, and margin-right properties. The mapping depends on the element’s writing-mode, direction, and text-orientation.
◎名 `margin-block@p,`margin-inline@p ◎値 `margin-left$tp{1,2} ◎初 個々の~propを見よ ◎適 個々の~propを見よ ◎継 個々の~propを見よ ◎百 個々の~propを見よ ◎算 個々の~propを見よ ◎ア 個々の~propを見よ ◎順 文法に従う ◎表終
これら 2 つの`略式~prop$は、順に,[ `margin-block-start$p, `margin-block-end$p ], [ `margin-inline-start$p, `margin-inline-end$p ]を設定する。 2 個の値は、順に[ `始端$, `終端$ ]辺の~styleを表現する。 値が 1 個だけ与えられた場合、それが 2 個目の値にも利用される。 ◎ These two shorthand properties set the margin-block-start & margin-block-end and margin-inline-start & margin-inline-end, respectively. The first value represents the start edge style, and the second value represents the end edge style. If only one value is given, it applies to both the start and end edges.
4.3. ~flowに相対的な~offset: `inset-block-start^p, `inset-block-end^p, `inset-inline-start^p, `inset-inline-end^p, ~propと `inset-block^p, `inset-inline^p, `inset^p 略式~prop
◎名 `inset-block-start@p,`inset-block-end@p,
`inset-inline-start@p,
`inset-inline-end@p ◎値 `top$tp ◎初 `auto^v ◎適 `有位置$な要素 ◎ positioned elements ◎継 されない ◎百 対応する物理的~propに対するときと同じ ◎ As for the corresponding physical property ◎算 対応する[ `top$p / `right$p / `bottom$p / `left$p ]と同じ ◎ Same as corresponding top/right/bottom/left properties ◎順 文法に従う ◎ア `top$p と同じ ◎ Same as top ◎表終
これらの各~propは[ `top$p / `bottom$p / `left$p / `right$p ]~propに対応する。 その対応関係は、親~要素の[ `writing-mode$p, `direction$p, `text-orientation$p ]に依存する。 ◎ These properties correspond to the top, bottom, left, and right properties. The mapping depends on the element’s writing-mode, direction, and text-orientation.
◎名 `inset-block@p,`inset-inline@p ◎値 `top$tp{1,2} ◎初 個々の~propを見よ ◎適 個々の~propを見よ ◎継 個々の~propを見よ ◎百 個々の~propを見よ ◎算 個々の~propを見よ ◎ア 個々の~propを見よ ◎順 文法に従う ◎表終
これら 2 つの`略式~prop$は、順に,[ `inset-block-start$p, `inset-block-end$p ], [ `inset-inline-start$p, `inset-inline-end$p ]を設定する。 2 個の値は、順に[ `始端$, `終端$ ]辺の~styleを表現する。 値が 1 個だけ与えられた場合、それが 2 個目の値にも利用される。 ◎ These two shorthand properties set the inset-block-start & inset-block-end and inset-inline-start & inset-inline-end, respectively. The first value represents the start edge style, and the second value represents the end edge style. If only one value is given, it applies to both the start and end edges.
◎名 `inset@p ◎値 `top$tp{1,4} ◎初 個々の~propを見よ ◎適 個々の~propを見よ ◎継 個々の~propを見よ ◎百 個々の~propを見よ ◎算 個々の~propを見よ ◎ア 個々の~propを見よ ◎順 文法に従う ◎表終この`略式~prop$は[ `top$p, `right$p,`bottom$p, `left$p ]~propを設定する。 値は、 `margin$p に対するときと同じに`下位prop$にあてがわれる。 ◎ This shorthand property sets the top, right, bottom, and left properties. Values are assigned to its sub-properties as for margin.
4.4. ~flowに相対的な~padding: `padding-block-start^p, `padding-block-end^p, `padding-inline-start^p, `padding-inline-end^p, ~propと `padding-block^p, `padding-inline^p 略式~prop
◎名 `padding-block-start@p,`padding-block-end@p,
`padding-inline-start@p,
`padding-inline-end@p ◎値 `padding-top$tp ◎初 `0^v ◎適 すべての要素 ◎継 されない ◎百 対応する物理的~propに対するときと同じ ◎ As for the corresponding physical property ◎算 対応する `padding-*^p ~propと同じ ◎ Same as corresponding padding-* properties ◎順 文法に従う ◎ア `padding-top$p と同じ ◎ Same as padding-top ◎表終
これらの各~propは[ `padding-top$p / `padding-bottom$p / `padding-left$p / `padding-right$p ]~propに対応する。 その対応関係は、要素の[ `writing-mode$p, `direction$p, `text-orientation$p ]に依存する。 ◎ These properties correspond to the padding-top, padding-bottom, padding-left, and padding-right properties. The mapping depends on the element’s writing-mode, direction, and text-orientation.
◎名 `padding-block@p,`padding-inline@p ◎値 `padding-left$tp{1,2} ◎初 個々の~propを見よ ◎適 個々の~propを見よ ◎継 個々の~propを見よ ◎百 個々の~propを見よ ◎算 個々の~propを見よ ◎ア 個々の~propを見よ ◎順 文法に従う ◎表終
これら 2 つの`略式~prop$は、順に,[ `padding-block-start$p, `padding-block-end$p ], [ `padding-inline-start$p, `padding-inline-end$p ]を設定する。 2 個の値は、順に[ `始端$, `終端$ ]辺の~styleを表現する。 値が 1 個だけ与えられた場合、それが 2 個目の値にも利用される。 ◎ These two shorthand properties set the padding-block-start & padding-block-end and padding-inline-start & padding-inline-end, respectively. The first value represents the start edge style, and the second value represents the end edge style. If only one value is given, it applies to both the start and end edges.
4.5. ~flowに相対的な~border
4.5.1. ~flowに相対的な~border幅: `border-block-start-width^p, `border-block-end-width^p, `border-inline-start-width^p, `border-inline-end-width^p ~propと `border-block-width^p, `border-inline-width^p 略式~prop
◎名 `border-block-start-width@p,`border-block-end-width@p,
`border-inline-start-width@p,
`border-inline-end-width@p ◎値 `border-top-width$tp ◎初 `medium^v ◎適 すべての要素 ◎継 されない ◎百 受容しない ◎算 対応する `border-*-width^p ~propと同じ ◎ Same as corresponding border-*-width properties ◎順 文法に従う ◎ア `border-top-width$p と同じ ◎ Same as border-top-width ◎表終
これらの各~propは[ `border-top-width$p / `border-bottom-width$p / `border-left-width$p / `border-right-width$p ]~propに対応する。 その対応関係は、要素の[ `writing-mode$p, `direction$p, `text-orientation$p ]に依存する。 ◎ These properties correspond to the border-top-width, border-bottom-width, border-left-width, and border-right-width properties. The mapping depends on the element’s writing-mode, direction, and text-orientation.
◎名 `border-block-width@p,`border-inline-width@p ◎値 `border-top-width$tp{1,2} ◎初 個々の~propを見よ ◎適 個々の~propを見よ ◎継 個々の~propを見よ ◎百 個々の~propを見よ ◎算 個々の~propを見よ ◎ア 個々の~propを見よ ◎順 文法に従う ◎表終
これら 2 つの`略式~prop$は、順に,[ `border-block-start-width$p, `border-block-end-width$p ], [ `border-inline-start-width$p, `border-inline-end-width$p ]を設定する。 2 個の値は、順に[ `始端$, `終端$ ]辺の幅(太さ)を表現する。 値が 1 個だけ与えられた場合、それが 2 個目の値にも利用される。 ◎ These two shorthand properties set the border-block-start-width & border-block-end-width and border-inline-start-width & border-inline-end-width, respectively. The first value represents the start edge width, and the second value represents the end edge width. If only one value is given, it applies to both the start and end edges.
4.5.2. ~flowに相対的な~border~style: `border-block-start-style^p, `border-block-end-style^p, `border-inline-start-style^p, `border-inline-end-style^p ~propと `border-block-style^p, `border-inline-style^p 略式~prop
◎名 `border-block-start-style@p,`border-block-end-style@p,
`border-inline-start-style@p,
`border-inline-end-style@p ◎値 `border-top-style$tp ◎初 `none^v ◎適 すべての要素 ◎継 されない ◎百 受容しない ◎算 対応する `border-*-style^p ~propと同じ ◎ Same as corresponding border-*-style properties ◎順 文法に従う ◎ア `border-top-style$p と同じ ◎ Same as border-top-style ◎表終
これらの各~propは[ `border-top-style$p / `border-bottom-style$p / `border-left-style$p / `border-right-style$p ]~propに対応する。 その対応関係は、要素の[ `writing-mode$p, `direction$p, `text-orientation$p ]に依存する。 ◎ These properties correspond to the border-top-style, border-bottom-style, border-left-style, and border-right-style properties. The mapping depends on the element’s writing-mode, direction, and text-orientation.
◎名 `border-block-style@p,`border-inline-style@p ◎値 `border-top-style$tp{1,2} ◎初 個々の~propを見よ ◎適 個々の~propを見よ ◎継 個々の~propを見よ ◎百 個々の~propを見よ ◎算 個々の~propを見よ ◎ア 個々の~propを見よ ◎順 文法に従う ◎表終
これら 2 つの`略式~prop$は、順に,[ `border-block-start-style$p, `border-block-end-style$p ], [ `border-inline-start-style$p, `border-inline-end-style$p ]を設定する。 2 個の値は、順に[ `始端$, `終端$ ]辺の~styleを表現する。 値が 1 個だけ与えられた場合、それが 2 個目の値にも利用される。 ◎ These two shorthand properties set the border-block-start-style & border-block-end-style and border-inline-start-style & border-inline-end-style, respectively. The first value represents the start edge style, and the second value represents the end edge style. If only one value is given, it applies to both the start and end edges.
4.5.3. ~flowに相対的な~border色: `border-block-start-color^p, `border-block-end-color^p, `border-inline-start-color^p, `border-inline-end-color^p properties and `border-block-color^p and `border-inline-color^p 略式~prop
◎名 `border-block-start-color@p,`border-block-end-color@p,
`border-inline-start-color@p,
`border-inline-end-color@p ◎値 `border-top-color$tp ◎初 `currentcolor$v ◎適 すべての要素 ◎継 されない ◎百 受容しない ◎算 対応する `border-*-color^p ~propと同じ ◎ Same as corresponding border-*-color properties ◎順 文法に従う ◎ア `border-top-color$p と同じ ◎ Same as border-top-color ◎表終
これらの各~propは[ `border-top-color$p / `border-bottom-color$p / `border-left-color$p / `border-right-color$p ]~propに対応する。 その対応関係は、要素の[ `writing-mode$p, `direction$p, `text-orientation$p ]に依存する。 ◎ These properties correspond to the border-top-color, border-bottom-color, border-left-color, and border-right-color properties. The mapping depends on the element’s writing-mode, direction, and text-orientation.
◎名 `border-block-color@p,`border-inline-color@p ◎値 `border-top-color$tp{1,2} ◎初 個々の~propを見よ ◎適 個々の~propを見よ ◎継 個々の~propを見よ ◎百 個々の~propを見よ ◎算 個々の~propを見よ ◎ア 個々の~propを見よ ◎順 文法に従う ◎表終
これら 2 つの`略式~prop$は、順に,[ `border-block-start-color$p, `border-block-end-color$p ], [ `border-inline-start-color$p, `border-inline-end-color$p ]を設定する。 2 個の値は、順に[ `始端$, `終端$ ]辺の~styleを表現する。 値が 1 個だけ与えられた場合、それが 2 個目の値にも利用される。 ◎ These two shorthand properties set the border-block-start-color & border-block-end-color and border-inline-start-color & border-inline-end-color, respectively. The first value represents the start edge style, and the second value represents the end edge style. If only one value is given, it applies to both the start and end edges.
4.5.4. ~flowに相対的な~border略式~prop: `border-block-start^p, `border-block-end^p, `border-inline-start^p, `border-inline-end^p ~propと `border-block^p, `border-inline^p 略式~prop
◎名 `border-block-start@p,`border-block-end@p,
`border-inline-start@p,
`border-inline-end@p ◎値 `border-top-width$tp || `border-top-style$tp || `color$t ◎初 個々の~propを見よ ◎適 個々の~propを見よ ◎継 個々の~propを見よ ◎百 個々の~propを見よ ◎算 個々の~propを見よ ◎ア 個々の~propを見よ ◎順 文法に従う ◎表終
これらの各~propは[ `border-top$p / `border-bottom$p / `border-left$p / `border-right$p ]~propに対応する。 その対応関係は、要素の[ `writing-mode$p, `direction$p, `text-orientation$p ]に依存する。 ◎ These properties correspond to the border-top, border-bottom, border-left, and border-right properties. The mapping depends on the element’s writing-mode, direction, and text-orientation.
◎名 `border-block@p,`border-inline@p ◎値 `border-block-start$tp ◎初 個々の~propを見よ ◎適 個々の~propを見よ ◎継 個々の~propを見よ ◎百 個々の~propを見よ ◎算 個々の~propを見よ ◎ア 個々の~propを見よ ◎順 文法に従う ◎表終
これら 2 つの`略式~prop$は、順に,[ `border-block-start$p, `border-block-end$p ], [ `border-inline-start$p, `border-inline-end$p ]を設定する。 ◎ These two shorthand properties set the border-block-start & border-block-end and border-inline-start & border-inline-end, respectively.
4.6. 4 方向の略式~prop: `margin^p, `padding^p, `border-width^p, `border-style^p, `border-color^p 略式~prop
[ ~margin / ~padding / ~border ]用の略式~propは、既定では,その各 物理的な下位prop用の値を設定するが、作者は,~prop値の始めの所に `logical@v ~keyword値を指定して,値を~flowに相対的な~propに対応付けるように指示できる。 ◎ The shorthand properties for margin, padding, and border set values for physical properties by default. But authors can specify the logical keyword at the beginning of the property value to indicate that the values map to the flow-relative properties instead of the physical ones.
~keywordの候補としては,他にも: `relative^v, `script^v, `writing-mode^v, `beas^v, あるいは値~自身(例えば `vertical-lr-ltr^v )が挙げられる。 ◎ other candidates of the keyword are: relative, script, writing-mode, beas, or the value itself (e.g., vertical-lr-ltr)
`CSS21$r 略式~propのうち,次のもの(加えて,上で新たに定義した `inset$p 略式~prop)が `logical$v ~keywordを受容する: ◎ The following [CSS21] shorthand properties (and additionally the new inset shorthand defined above) accept the logical keyword:
- `margin$p
- `padding$p
- `border-width$p
- `border-style$p
- `border-color$p
これらの~prop用の構文は、元の構文を次で表すなら: ◎ The syntax for these properties is effectively changed by replacing
`value-type^t{1,4}
それを,次のように~~拡張したものになる: ◎ with
`logical$v? `value-type^t{1,4}
`logical$v ~keywordが在るときの各~成分~値は、次に従って,~flowに相対的な各~propにあてがわれる — 与えられた値が: ◎ When the logical keyword is present in the value, the values that follow are assigned to the flow-relative properties as follows:
- 1 個だけの場合:
- 4 側すべての ~flowに相対的な下位propに,その値をあてがう。 ◎ If only one value is set, the value applies to all four flow-relative longhands.
- 2 個の場合:
- 1 個目の値を `*-block-start^p, `*-block-end^p にあてがう。 2 個目の値を `*-inline-start^p, `*-inline-end^p にあてがう。 ◎ If two values are set, the first is for block-start and block-end, the second is for inline-start and inline-end.
- 3 個の場合:
- 1 個目の値を `*-block-start^p にあてがう。 2 個目の値を `*-inline-start^p, `*-inline-end^p にあてがう。 3 個目の値を `*-block-end^p にあてがう。 ◎ If three values are set, the first is for block-start, the second is for inline-start and inline-end, and the third is for block-end.
- 4 個の場合:
- 各~値を順に `*-block-start^p, `*-inline-start^p, `*-block-end^p, `*-inline-end^p にあてがう。 ◎ If four values are set, they apply to the block-start, inline-start, block-end, and inline-end sides in that order.
次の例の二つの規則は等価になる: ◎ In the following example, the two rules are equivalent:
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. 論理 背景/~border 画像
背景 `CSS3BG$r は、他とは別に取扱われる — 指定された画像で区画を埋めたり,埋める区画を ~text~flow【の方向】に依存して回転したり裏返すことができるので。 ◎ [CSS3BG] is handled separately because it can fill an area with specified images, and the area to fill can be rotated or flipped depending on the text flow.
5.1. 背景~画像の変形-: `background-image-transform^p ~prop
◎名 `background-image-transform@p ◎値 `logical$v | `physical$v | `rotate$v ◎初 `physical$v ◎適 すべての要素 ◎継 される ◎百 受容しない ◎算 指定値 ◎順 文法に従う ◎ア 離散的 ◎表終`logical^v, `physical^v のどっちを既定の初期値にするのが~~正しい? どっちの方が共通的なのか究明する必要がある。 ◎ is this the right default? we need to investigate which is more common
この~propは、背景~画像が[ `writing-mode$p ~propの値に合致するように変形するかどうか ], および[ `background-size$p の横幅と縦幅は,[ 物理的, ~flowに相対的 ]のどちらになるか ]を定義する。 各種~値の意味は: ◎ This property defines whether background images are transformed to match to the value of writing-mode property, and whether background-size widths and heights are flow-relative or physical. Values have the following meanings:
- `logical@v
- `background-size$p ~prop用の値を~flowに相対的にする。 背景~画像は、~flowに相対的な軸に合致するように変形される。 【縦組なら 90°回転した上で、(横組か縦組かを問わず)必要なら裏返す(鏡像にする)。】 ◎ The values for the background-size property are flow-relative. The background images are transformed to match to the flow-relative axis.
- `physical@v
- `background-size$p ~prop用の値を物理的にする。 背景~画像は、頁に相対的なまま。 ◎ The values for the background-size property are physical. The background images remain unchanged.
- `rotate@v
- `行内~基底~方向$は無視することを除いて, `logical$v と同様にする。 `塊~flow方向$のみが影響することになる。 【縦組なら 90°回転するが,裏返すことはない。】 ◎ Similar to logical, except that the inline base direction is ignored. The result is affected only by the block flow direction.
5.2. `background-repeat^p ~prop
`repeat-x$v, `repeat-y$v 値は物理的であるが、 CSS3 においては、この~propは,横方向と縦方向の挙動を別々に指定する 2 成分の値も受容する。 この 2 値は、 `logical^v ~keywordが指定されている下では~flowに相対的,他の場合は物理的と見なされる。 ◎ The repeat-x and repeat-y values are physical, but in CSS3 this property can also accept double values to specify horizontal and vertical behaviors separately. The double values are considered flow-relative if the logical keyword is specified, otherwise physical.
物理的な値を与えるものとして[ `repeat-horizontal^v, `repeat-vertical^v ]も追加するべきか? ◎ should also add repeat-horizontal and repeat-vertical for the physical value?
5.3. ~border画像の変形-: `border-image-transform^p ~prop
◎名 `border-image-transform@p ◎値 `logical$v | `physical$v | `rotate$v ◎初 `rotate$v ◎適 すべての要素 — ただし、 `border-collapse$p が `collapse^v にされた~tableの `内部~table要素$は除く。 ◎ All elements, except internal table elements when border-collapse is collapse ◎継 される ◎百 受容しない ◎算 指定値 ◎順 文法に従う ◎ア 離散的 ◎表終どれを既定の初期値にするのが~~正しい? ◎ is this the right initial default?
この~propは、基準~書字modeは
`writing-mode$p: `horizontal-tb^v; `direction$p: `ltr^v
とする下で,~border画像が
`writing-mode$p ~propの値に合致するように変形されるかどうかを定義する。
各種~値の意味は:
◎
This property defines whether border images are transformed to match to the value of writing-mode property, with the reference writing mode being writing-mode: horizontal-tb; direction: ltr. Values have the following meanings:
- `logical@v
- 各種 `border-image-*^p ~prop用の値は~flowに相対的になる。 ~border画像は、~flowに相対的な軸に合致するように変形される。 ◎ The values for the border-image-* properties are flow-relative. The border images are transformed to match to the flow-relative axis.
- `physical@v
- 各種 `border-image-*^p ~prop用の値は物理的になる。 ~border画像は、頁に相対的なまま。 ◎ The values for the border-image-* properties are physical. The border images remain unchanged.
- `rotate@v
- `行内~基底~方向$は無視することを除いて, `logical$v と同様にする。 `塊~flow方向$のみが影響することになる。 ◎ Similar to logical, except that the inline base direction is ignored. The result is affected only by the block flow direction.
次の~propは、方向的~対応付けを決定する際に,この~propの値を利用する: ◎ The following properties use the value of this property to determine how directional mappings are done:
- `border-image-slice$p
- `border-image-width$p
- `border-image-outset$p
- `border-image-repeat$p
- `border-image$p
謝辞
Cameron McCormack, David Baron, Shinyu Murakami, Tab Atkins
変更点
以前の編集者草案からの変更点は: ◎ Changes since the earler Editors Drafts include:
- すべての~propは、親ではなく要素~自身に指定された`書字mode$を利用して,~cascadeするようにした。 ◎ Making all properties cascade using the writing mode specified on the element, not on its parent.
- `margin$p に類する略式~propの中での下位prop値の順序を, `inline-start^v が `inline-end^v より前になるようにした。 ◎ Making the ordering of longhands within margin-like shorthands put inline-start before inline-end.
- ~margin/~border/~padding用に[ `*-inline^p, `*-block^p ]略式~形を追加した。 ◎ Adding the *-inline and *-block shorthand forms for margins/borders/padding.
- 各種 `outset-*^p ~propを `inset-*^p に改称した上で、論点となる課題を付与した。 ◎ Renaming the outset-* properties to inset-* and marking an issue for discussion.
- 序論~節を追加した。 ◎ Adding an Introduction section.
- 各種用語を CSS Writing Modes の現在のそれらに更新した。 ◎ Updating to current terminology of CSS Writing Modes.
- いくつかの注釈文を整理した。 ◎ Miscellaneous prose cleanup.