1. 序論
この仕様は、 `~level 3$ を拡張する。 この仕様は、 首な節として,次に挙げるものを包含する: ◎ This specification extends [CSS-OVERFLOW-3]. It contains several primary sections:
- `§ ~overflowの~scroll法と切取n法@#overflow-properties$ ⇒ `~level 3$ における各種 `overflow-*@~CSSOVERFLOW3#overflow-properties$p ~propに対する比較的~単純な拡張を定義する。 ◎ Overflow Scrolling and Clipping Controls • This section defines relatively simple extensions to the overflow-* properties in Level 3.
- `§ 自動的な省略符@#auto-ellipsis$ ⇒ `~level 3$ における各種 `*-ellipsis@~CSSOVERFLOW3#overflow-properties$p ~propに対する, ある試験的な拡張を定義する。 ◎ Automatic Ellipses. • This section defines some experimental extensions to the *-ellipsis properties in Level 3.
注記: これを書いている時点では、 `~level 3$ は, まだ完成されてない。 不用意な分岐と保守~overheadを避けるため、 この仕様は、 `~level 3$ に対する差分~仕様として書かれた。 `~level 3$ 仕様が完遂されたなら、 その内容は,この仕様の中へ統合され, `~level 3$ を置換することになる。 そのときまでは、 この仕様は,`~level 3$ に対する追加と拡張に限り包含する。 ◎ Note: At the time of writing, [CSS-OVERFLOW-3] is not completely finalized yet. To avoid accidental divergences and maintenance overhead, This specification is written as a delta specification over css-overflow Level 3. Once the level 3 specification is final, its content will be integrated into this specification, which will then replace it. Until then, this specification only contains additions and extensions to level 3.
1.1. 値~定義
【 この節の内容は `~CSS日本語訳 共通~page@~CSScommon#values$に移譲。 】
1.2. ~module間の相互作用
この~moduleは、 `~level 3$ にて定義された特能を拡張する。 ◎ This module extends features defined in [CSS-OVERFLOW-3].
2. ~overflowの概念と各種用語
`~level 3$ が完遂したなら、 `その内容@~CSSOVERFLOW3#overflow-concepts$をここに複製する。 ◎ Copy Level 3 content when final.
3. ~overflowの~scroll法と切取n法
`~level 3$ が完遂したなら、 `その内容@~CSSOVERFLOW3#overflow-properties$をここに複製する。 ◎ Copy Level 3 content when final.
3.1. ~overflowの管理-法: `overflow-x$p, `overflow-y$p, `overflow$p ~prop
この~levelは、[ `overflow-x$p, `overflow-y$p ]~prop (および `overflow$p `略式~prop$) を`置換d要素$にも適用できるよう拡張する。 ◎ This level extends the overflow-x and overflow-y properties (and overflow shorthand) to apply to replaced elements.
`置換d要素$に対しては、 `visible$v0 以外の算出d値の`使用~値$は, `clip$v0 になる。 ~host言語は、 そのような要素には[ 既定の値として `clip$v を適用する規則, `overflow-clip-margin$p を `content-box^v に設定する規則 ]を`~UA~stylesheet$内に定義するベキである。 ◎ On replaced elements, the used values of all computed values other than visible is clip. Host languages should define UA style sheet rules that apply a default value of clip to such elements and set their overflow-clip-margin to content-box.
注記: `置換d要素$に対する `overflow$p の適用は、[ 画像をその効果が及ぶ~layout~boxの外側にも塗る ]ことを許容するために追加された。 ~UA~stylesheet規則は、 元の挙動を既定の効果とすることが推奨される。 `7059$issue, `7144$issue における論点を見よ。 これは、 `CSS2$r からの変更であり,~risk下にある。 ◎ Note: Application of overflow to replaced elements was added to allow images to paint effects outside their effective layout box; the recommended UA style sheet rules are to effect their original behavior as a default. See discussion in Issue 7059 and Issue 7144. This is a change from CSS2.1 and is at-risk.
`置換d要素$に対する `overflow$p の適用は、 依然として作業~中( `7144$issue )にある。 ◎ Application of overflow to replaced elements is still being worked out. [Issue #7144]
3.2. 切抜き限界域の拡幅-法: `overflow-clip-margin-*^p ~prop
◎名 `overflow-clip-margin-top@p, `overflow-clip-margin-right@p, `overflow-clip-margin-bottom@p, `overflow-clip-margin-left@p, `overflow-clip-margin-block-start@p, `overflow-clip-margin-inline-start@p, `overflow-clip-margin-block-end@p, `overflow-clip-margin-inline-end@p ◎値 `visual-box$t || `length [0,∞]$t ◎初 `0px^v ◎適 `overflow$p が適用される~box ◎継 されない ◎百 個々の~propを見よ ◎算 [ `length$t の算出d値/ `visual-box$t ~keyword ]または,これらが成す組 ◎ the computed <length> and a <visual-box> keyword ◎ア `visual-box$t 値に合致する場合,算出d値の型による/ 他の場合は離散的 ◎ per computed value if the <visual-box> values match; otherwise discrete ◎順 文法に従う ◎論 `overflow-clip-margin$p ◎表終 ◎名 `overflow-clip-margin@p, `overflow-clip-margin-inline@p, `overflow-clip-margin-block@p ◎値 `visual-box$t || `length [0,∞]$t ◎初 `0px^v ◎適 `overflow$p が適用される~box ◎継 されない ◎百 個々の~propを見よ ◎算 個々の~propを見よ ◎ア 個々の~propを見よ ◎順 文法に従う ◎表終これらの~prop, それらの略式~propは、 ~boxの `~overflow切取n辺@ ( `overflow clip edge^en )を定義する — すなわち,次を定義する ⇒ ~boxの内容は、[ ~boxの`~overflow切取n辺$で切取るように定義された効果 ( `overflow:clip$p のとき【!, above?】など†) ]により切取られる前に,~boxの限界域から精確に`どこまで^em外側に塗ることが許容されるか 【† 他にも, `contain$p による`塗り封込め$がある場合が該当する。】 ◎ These properties and their shorthands define the overflow clip edge of the box, i.e. precisely how far outside its bounds the box’s content is allowed to paint before being clipped by effects (such as overflow: clip, above) that are defined to clip to the box’s overflow clip edge.\
`略式~prop$と`下位prop$の関係性は `margin$p と同様になるが、 `略式~prop$は,制約された構文を有することに注意。 【何と比べ,どう制約されるのか不明。】 ◎ The shorthand/longhand relationships are as for margin, but note that the shorthands have a restricted syntax.
各種 値は、 次に従って定義される: ◎ Values are defined as follows:
- `visual-box$t
- `~overflow切取n辺$の原点として利用する~box — すなわち、 指定された~offsetが 0 のとき利用する~box — の辺を指定する。 ◎ Specifies the box edge to use as the overflow clip edge origin, i.e. when the specified offset is zero.
- 省略された場合の既定は、[ `置換d要素$に対しては `content-box^v / 他に対しては `padding-box^v ]とする。 ◎ If omitted, defaults to padding-box on non-replaced elements, or content-box on replaced elements.
- `置換d要素$に対する `overflow-clip-margin$p の適用は、 依然として作業~中にある。 `7144$issue ◎ Application of overflow-clip-margin to replaced elements is still being worked out. [Issue #7144]
- `length [0,∞]$t
- 指定された~offsetは、 `~overflow切取n辺$が指定された~box辺から どれだけ拡幅されるかを規定する。 負な値は妥当でない。 省略された場合の既定は、 0 とする。 ◎ The specified offset dictates how much the overflow clip edge is expanded from the specified box edge Negative values are invalid. Defaults to zero if omitted.
`~overflow切取n辺$は、[ 指定された~offsetを `box-shadow$p の`拡幅~距離$に与えたとき ]の[ 当の~boxの各~隅における`~border辺$の`外影$ ]と正確に同じ仕方で形状付けられる。 `CSS-BACKGROUNDS-3$r [ `§ 隅の形状付け@~CSSBG#corner-shaping$, `§ 影の[形状, 拡幅, 打抜き]@~CSSBG#shadow-shape$ ]を見よ — そこには、 特に,`~border辺$から外方への~offset用の公式も注記されている。 ◎ The overflow clip edge is shaped in the corners exactly the same way as an outer box-shadow with a spread radius of the same cumulative offset from the box’s border edge. See CSS Backgrounds 3 § 4.2 Corner Shaping and CSS Backgrounds 3 § 6.1.1 Shadow Shape, Spread, and Knockout, noting in particular the formula for outsets beyond the border edge.
注記: この~propによる効果は、[ `overflow:hidden$p / `overflow:scroll$p ]を伴う~boxには無い — それらは、 `~overflow切取n辺$を利用するよう定義されていない。 ◎ Note: This property has no effect on boxes with overflow: hidden or overflow: scroll, which are not defined to use the overflow clip edge.
4. 自動的な省略符
4.1. 行内~overflow用の省略符: `text-overflow^p ~prop
【 省略符( `ellipsis^en ) — 印刷用語でいう三点リーダなど。 】
◎名 `text-overflow@p ◎値 [ `clip$v | `ellipsis$v | `string$t | `fade$v | `fade()$t ]{1,2} ◎初 `clip$v ◎適 `塊~容器$ ◎継 されない ◎百 行l~boxの`行内~size$【!横幅】を基準にする ◎算 指定されたとおり — ただし、【 `fade()$t 内の】長さは絶対~化される ◎順 文法に従う ◎ア 離散的 ◎表終この節は、 `~level 3$ と同期cし直す必要があるかもしれない。 ◎ This section might need to be re-synced against [CSS-OVERFLOW-3].
この~propは、 当の`塊~容器$ %塊 の `overflow$p が `visible$v0 でないときに, %塊 を成す`行内~内容$が[ %塊 の`行内~基底~方向$【!inline progression direction】において, `行l~box$の辺を~overflowする ]ときの描画を指定する。 ◎ This property specifies rendering when inline content overflows its line box edge in the inline progression direction of its block container element ("the block") that has overflow other than visible.
この~propは継承されないが、 行l~boxが[ その`行内~整形~文脈$を確立するために %塊 の中で生成される`匿名$な`塊~容器$ ]で包装された場合でも,それは無視され、 行l~boxには %塊 のこの~propの値が適用される。 ◎ Even though this property is not inherited, anonymous block container boxes generated to establish the line box’s inline formatting context (see block container) are ignored, and the value of the property that applies is the one on the non anonymous box.\
これは、 `下の例@#text-overflow-examples$の中の[ 4 個目の例における "NESTED PARAGRAPH" を成す部分 ]にて見れる。 単語 "NESTED" は,匿名な塊~容器で包装されているので、 その `text-overflow$p ~propは初期~値をとるが、 それでも,省略化される。 ◎ This can be seen in the “nested paragraph” part of example 7: even though the word “NESTED” is wrapped in an anonymous block container whose text-overflow property has the initial value, it is ellipsed.
~textは、 例えば折返ngが禁則されるとき, ~overflowし得る (例: `white-space$p に対する `nowrap^v に因り/ 長さが一行分を超える単独の単語に因り)。 各種 値の意味は: ◎ Text can overflow for example when it is prevented from wrapping (e.g. due to white-space: nowrap or a single word is too long to fit). Values have the following meanings:
- `clip@v
- `行内~内容$が,その`塊~容器$【!block container element】を~overflowする部分は、 切取る。 文字~並びは、 部分的に描画されてもヨイ。 ◎ Clip inline content that overflows its block container element. Characters may be only partially rendered.
- `ellipsis@v
- 【 ~UAの既定の`省略符$ 】
-
`ellipsis^en 文字 ( ~U2026 `HORIZONTAL ELLIPSIS^cn ) を描画して,`行内~内容$が切取られたことを表現する。 実装は: ◎ Render an ellipsis character (U+2026) to represent clipped inline content. Implementations may\
- [ 言語/用字系/書字~mode ]に応じて,より適切な`省略符$で代用してもヨイ。 ◎ substitute a more language, script, or writing-mode appropriate ellipsis character,\
- `ellipsis^en 文字を可用にできないときは、 3 個の~dot "..." で代用してもヨイ。 ◎ or three dots "..." if the ellipsis character is unavailable.
- `string$t
- 所与の[ `行内~内容$が切取られたことを表現する文字列 ]を描画する。 所与の文字列は、 双向性の目的においては,独立な段落として扱われる。 ◎ Render the given string to represent clipped inline content. The given string is treated as an independent paragraph for bidi purposes.
fade( `length-percentage$t )
- 行l~boxを~overflowする`行内~内容$は、 文字たちが部分的にしか描画されなくなるよう,切取る。 加えて,~UAは、 行l~boxの辺~近くで~fade-out効果を適用するモノトスル — 辺の所で完全な透明に達するよう。 ◎ Clip inline content that overflows its line box. Characters may be only partially rendered. In addition, the UA must apply a fade out effect near the edge of the line box, reaching complete transparency at the edge.
- ~fade-outを計算する仕方を定義する必要はあるか? — その効果が各~browserで一致するよう。 おそらく、 `mask-image:linear-gradient(to right, rgba(0,0,0,1), rgba(0,0,0,0))$p の様な何かになるべきである — 行lの関連な部位に限り,適用されることを除いて。 ◎ Do we need to define the way the fade out is calculated so that the fading is identical across browsers? It should probably be something like mask-image: linear-gradient(to right, rgba(0,0,0,1), rgba(0,0,0,0)), except applied to the relevant portion of the line only.
- 引数は、 ~fade効果が適用される距離を決定する。 `percentage$t は、 当の行l~boxの`行内~size$【!横幅】を基準に解決される。 値が[ 0 以上, 行l~boxの`行内~size$【!横幅】以下 ]でない場合、 そこまでに切り詰められる。 ◎ The argument determines the distance over which the fade effect is applied. The <percentage> is resolved against the width of the line box. Values lower than 0 are clipped to 0. Values greater than the width of the line box are clipped to the width of the line box.
- 当の行l~boxが,~fade効果を欲される長さまで表示するには短か過ぎる場合、 次に挙げる どれを行うべきか ⇒# 当の効果を落とす/ 収まる所まで距離を縮短して適用する/ ~fadeの終端を切取る ◎ If the line box is too short to display the fade effect at the desired length, should we drop the effect, or shrink the distance it is applied over until it fits, or clip the end of the fade?
- [ 当の行l~boxの外へ~overflowしているもの/それ【?】と重合しているもの ]をどう処するべきか — 次に挙げる どれに~fadeを適用するべきか ⇒# 行lの論理的な内容/ 行l~boxの物理的な区画/ この両者の交差域 ◎ How should we deal with things overflowing out of the line box, or overlapping onto it? Should fade apply to the logical content of the line, or to the physical area of the line box, or the intersection of both?
- `fade@v
- `fade$f と同じだが、 その効果が適用される距離は,~UAにより決定される。 適度な値として `1em^v が示唆される。 ◎ Same as fade(), but the distance over which the fading effect is applied is determined by the UA. 1em is suggested as a reasonable value.
`省略符@ ( `ellipsis^en 等)とは、 ~UAが[ `ellipsis$v / `string$t ]値に対し, 描画することになる[ `行内~内容$が切取られたことを表現する文字列(~glyph列) ]を指す。
【 用語 `省略符$は、 他所を[ 簡潔に述べる/明確化する ]ために,この訳に導入している。 原文では,[ "`ellipsis^en", "`ellipsis/string^en" ]いずれかとして表記されているが、[ 前者は,`~level 3$ から複製された内容/ 後者は,この~levelにて追加された `string$t 値に伴って追加された内容 ]に利用されており,これらは同義と解釈するべきであろう。 】
読み易くするため、 この~prop定義においては,用語 “文字” が利用される — 実装の目的においては、 “書記素~cluster” `UAX29$r を意味する。 ◎ The term "character" is used in this property definition for better readability and means "grapheme cluster" [UAX29] for implementation purposes.
値が 1 個だけ与えられた場合、 行l~boxの`終端$辺に限り適用される。 値が 2 個~与えられた場合、 順に,[ `行-左端$, `行-右端$ ]辺に適用される。 `CSS-WRITING-MODES-3$r 【!The terms end, line-left and line-right are defined in [CSS-WRITING-MODES-3].】 ◎ If there is one value, it applies only to the end line box edge. If there are two values, the first value applies to the line-left edge, and the second value applies to the line-right edge. The terms end, line-left and line-right are defined in [CSS-WRITING-MODES-3].
注記: 値が 2 個~与えられた場合に[ `始端$, `終端$ ]ではなく[ `行-左端$, `行-右端$ ]を利用するのは,意図的であり、 方向的な文字 — 矢印など — の利用を手助けするためである。 【双向性の目的においては,独立な段落として扱われるので。】 ◎ Note: the use of line-left and line-right rather than start and end when there are two values is intentional, to facilitate the use of directional characters such as arrows.
[ `ellipsis$v, `string$t ]値に対しては、 実装は,行lの適用-可能な辺(たち)の所の[ 文字/`不可分な行内$ ]を`省略符$【!ellipsis/string】を収めるために必要yなだけ隠した上で, 隠されずに残った`行内~内容$の適用-可能な辺(たち)に`省略符$【!ellipsis/string】を配置するモノトスル。 ただし,行l上の最初の[ 文字/`不可分な行内$ ]まで隠れることになる場合、 省略化せず `clip$v と同じにふるまうモノトスル。 ◎ For the ellipsis and string values, implementations must hide characters and atomic inline-level elements at the applicable edge(s) of the line as necessary to fit the ellipsis/string, and place the ellipsis/string immediately adjacent to the applicable edge(s) of the remaining inline content. The first character or atomic inline-level element on a line must be clipped rather than ellipsed.
双向~省略符の例
双方向-~textの状況において`省略符$用の部屋を作るとき、 どの文字が隠されるかを次にデモる — それらは、 視覚的に行lの辺に来る: ◎ These examples demonstrate which characters get hidden to make room for the ellipsis in a bidi situation: those visually at the edge of the line.
見本~CSS: ◎ Sample CSS:
div { font-family: monospace; white-space: pre; overflow: hidden; width: 9ch; text-overflow: ellipsis; }
見本~HTML片と,基準~描画, 利用中の~browserによる描画: ◎ Sample HTML fragments, renderings, and your browser: ◎ HTML|Reference rendering|Your Browser
~HTML | 基準~描画 | 利用中の~browser |
---|---|---|
`<div>שלום 123456</div>^c |
123456 ם…
| |
`<div dir=rtl>שלום 123456</div>^c |
…456 שלום
|
省略化の詳細
- 省略化が影響するのは描画に限られる — ~layoutや~pointer~eventの配送-法には影響しないモノトスル。 ~UAは、 `省略符$における~pointer~eventも — `text-overflow$p が `none$v であったときと同じく — ~textが省かれた要素へ向けて配送するベキである。 ◎ Ellipsing only affects rendering and must not affect layout nor dispatching of pointer events: The UA should dispatch any pointer event on the ellipsis to the elided element, as if text-overflow had been none.
- `省略符$は、 塊に則って~styleされ,基底線に整列される。 ◎ The ellipsis is styled and baseline-aligned according to the block.
- 省略化が生じるのは、 相対的~位置決めや 他の~graphicな変形nの後とする。 ◎ Ellipsing occurs after relative positioning and other graphical transformations.
- `省略符$用の空間が足らない場合、 省略符~自身の描画を切取る ( `clip$v 値が指定されていたときに,行l上の中立的~文字†が切取られる所と同じ側で)。 【†中立的( `neutral^en ):ハイフンなど,双向性に関して中立的な文字(~Unicode仕様に定義される)。】 ◎ If there is insufficient space for the ellipsis, then clip the rendering of the ellipsis itself (on the same side that neutral characters on the line would have otherwise been clipped with the text-overflow:clip value).
利用者による省略符とのヤリトリ
- 利用者が内容とヤリトリする所(例: 編集-/選択-/~scrollする所)では、 ~UAは `text-overflow$p の値が何であれ【!ellipsis, string values, fade or fade() as】, `clip$v であったかのように扱ってもヨイ。 ◎ When the user is interacting with content (e.g. editing, selecting, scrolling), the user agent may treat ellipsis, string values, fade or fade() as text-overflow:clip.
- `省略符$を選択する際には、 省略化された~textが選択されるベキである。 省略化された~textすべてが選択された場合、 ~UAは,省略符の選択を示すベキである。 省略化された~textが部分的に選択された場合の挙動は、 ~UAに委ねられる。 ◎ Selecting the ellipsis should select the ellipsed text. If all of the ellipsed text is selected, UAs should show selection of the ellipsis. Behavior of partially-selected ellipsed text is up to the UA.
以下の各~例に、 `塊~容器$の内容~textが~overflowする下での, `text-overflow$p の設定をデモる。 ◎ text-overflow examples ◎ These examples demonstrate setting the text-overflow of a block container element that has text which overflows its dimensions:
`div^e 用の見本~CSS: ◎ sample CSS for a div:
div { font-family: Helvetica, sans-serif; line-height: 1.1; width: 3.1em; padding: 0.2em; margin:1em 0; border: solid .1em black; overflow: hidden;【!追加】 }
◎ sample HTML fragments, renderings, and your browser:
見本~HTML素片 | 描画~見本 ◎ sample rendering | 利用中の~browserによる呈示 ◎ your browser |
---|---|---|
<div style="overflow:visible;"> CSS IS AWESOME, YES </div> |
例 1: ~textは~boxの外側にも描かれる。 ◎ First, a box with text drawing outside of it. |
|
<div style="text-overflow:clip;"> CSS IS AWESOME, YES </div> |
例 2: ~textは~boxの外側で切取られる。 ◎ Second, a similar box with the text clipped outside the box. |
|
<div style="text-overflow:ellipsis;"> CSS IS AWESOME, YES </div> |
例 3: 切取られた~textを表現する`省略符$を伴う。 ◎ Third, a similar box with an ellipsis representing the clipped text. |
|
<div style="text-overflow:ellipsis;"> NESTED <p style="margin:1em 0;">PARAGRAPH</p> WON’T ELLIPSE. </div> |
例 4: 入子にされた段落を伴う~box — `text-overflow^p は、 `匿名$な塊~boxへは継承される一方, 入子にされた要素へは継承されない様子をデモる。 ◎ Fourth, a box with a nested paragraph demonstrating anonymous block boxes equivalency and non-inheritance into a nested element. |
PARAGRAPH WON’T ELLIPSE. |
<div style="text-overflow:fade;"> NESTED <p style="margin:1em 0;">PARAGRAPH</p> WON’T ELLIPSE. </div> |
例 5: ~box内の~textは、 ~overflowする所で,~fade-outする。 ◎ a box with the text fading out on overflow. |
|
注記: `省略符$が行lのどちら側に配置されるかは、 塊の `direction$p に依存する。 例えば,当の塊は `overflow$p が `hidden$v0 にされていて, 右横書き( `direction$p は `rtl^v )の場合、 その`行内~内容$を`左端$ 側で切取るので,[ `text-overflow$p による`省略符$を `左端^em上に配置して,切取られた内容を表現する ]ことになる。 ◎ Note: the side of the line that the ellipsis is placed depends on the direction of the block. E.g. an overflow hidden right-to-left (direction: rtl) block clips inline content on the left side, thus would place a text-overflow ellipsis on the left to represent that clipped content.
ここに、 この注記を~~説明するための,右横書きの例を成す図式を挿入する。 ◎ insert RTL example diagram here to illustrate note.
省略符と~scroll用~UIとの相互作用
この節は、 `text-overflow$p は `clip$v 以外に指定され, かつ `overflow$p は `scroll^v にされた要素に適用される。 ◎ This section applies to elements with text-overflow other than text-overflow:clip (non-clip text-overflow) and overflow:scroll.
要素~上の `text-overflow$p が `clip^v でない, かつ `overflow$p は`行内~次元$において `scroll^v にされていて, ~browserが~scroll用の仕組みを供するとき (例: 要素~上の~scrollbarや, ~swipe~scroll用の~touch~UI, 等々)、 実装において より良い利用者~体験を供する追加的な詳細がある: ◎ When an element with non-clip text-overflow has overflow of scroll in the inline progression dimension of the text, and the browser provides a mechanism for scrolling (e.g. a scrollbar on the element, or a touch interface to swipe-scroll, etc.), there are additional implementation details that provide a better user experience:
要素が~scrollされるとき(例: 利用者により, あるいは~DOM操作により), 要素の更なる内容が示される。 `text-overflow$p の値は、 そのふるまいには影響するベキでない: `text-overflow$p が `clip^v 以外に設定された場合、 実装は,[ ~viewの中に更なる内容が~scrollされる ]に伴い[ 追加的な内容が何であれ,それが収まるように示す ]ベキである — [ `clip^v であったなら切取られる内容 ]および[ `省略符$【!ellipsis/string】に必要yなだけ ]に限り,切落すことに加え、[ 内容の~~終端まで表示できるまで十分に要素が~scrollされた ]ときは,[ `省略符$【!ellipsis/string】を表示する代わりに,その部分を成す内容を表示する ]ベキである。 ◎ When an element is scrolled (e.g. by the user, DOM manipulation), more of the element’s content is shown. The value of text-overflow should not affect whether more of the element’s content is shown or not. If a non-clip text-overflow is set, then as more content is scrolled into view, implementations should show whatever additional content fits, only truncating content which would otherwise be clipped (or is necessary to make room for the ellipsis/string), until the element is scrolled far enough to display the edge of the content at which point that content should be displayed rather than an ellipsis/string.
次の例は、 上述の挙動をデモるために, `overflow$p が `scroll^v にされた要素~上で `text-overflow$p を利用する。 ◎ This example uses text-overflow on an element with overflow scroll to demonstrate the above described behavior.
見本~CSS: ◎ sample CSS:
div.crawlbar { text-overflow: ellipsis; height: 2.5em【!2em】; overflow: scroll; white-space: nowrap; width: 15em; border: thick solid currentcolor【!1em solid black】; }
見本~HTML素片: ◎ sample HTML fragment:
<div class="crawlbar"> CSS is awesome, especially when you can scroll to see extra text instead of just having it overlap other text by default. </div>
見本~CSS/~HTMLのデモ: ◎ demonstration of sample CSS and HTML:
何らかの内容が~viewの中へ~scrollされるに伴い、 反対~側では,他の内容が~viewの外へ~scrollされると見込まれる。 その内容の`塊~容器$ %容器 が[ ~scrollしているものと同じであって【単に “`~scroll容器$である” ?】, その `text-overflow$p の算出d値は 2 個の値からなっていて, 始端~辺に適用される値は `clip$v 以外である ]場合、 実装は,内容が切取られる箇所に[ 上にて述べられた値~定義と同じ詳細を伴う`省略符$【!ellipsis/string】 ]を描画するモノトスル — 当の`省略符$【!ellipsis/string】は[ %容器 の(`終端$ではなく)`始端$ ]内に描かれることを除いて (始端, 終端は、 %容器 の `direction$p ~propに基づく)。 ◎ As some content is scrolled into view, it is likely that other content may scroll out of view on the other side. If that content’s block container element is the same that’s doing the scrolling, and the computed value of text-overflow has two values, with the value applying to the start edge being a non-clip value, then implementations must render an ellipsis/string in place of the clipped content, with the same details as described in the value definition above, except that the ellipsis/string is drawn in the start (rather than end) of the block’s direction (per the direction property).
実装は、 内容が~scrollされている間は,`省略符$【!ellipsis/string】の描画を調整してもヨイ (例:行lの辺ではなく,~boxの辺に整列するなど)。 ◎ While the content is being scrolled, implementations may adjust their rendering of ellipses/strings (e.g. align to the box edges rather than line edges).
`text-overflow^p が `ellipsis ellipsis^v をとることを除いて,上と同じ例がデモられる 【~scrollすると,省略符は始端にも描画される】: ◎ Same as previous example except with text-overflow: ellipsis ellipsis, demonstrated:
`省略符$【!ellipsis/string】用の空間が[ 始端, 終端 ]両方には足らない場合、 終端に限り,`省略符$【!ellipsis/string】を描画するベキである。 ◎ If there is insufficient space for both start and end ellipses/strings, then only the end ellipsis/string should be rendered.
4.2. 塊-軸~overflowの指示-法: `block-ellipsis^p ~prop
◎名 `block-ellipsis@p ◎値 `none$v | `auto$v | `string$t ◎初 `none$v ◎適 `塊~容器$ ◎継 される ◎百 受容しない ◎算 指定されたとおり ◎順 文法に従う ◎ア 離散的 ◎表終この~propは、 (強制dか非強制dかを問わず) `領域~分断$より前にある最後の`行l~box$の中へ — [ 切落された/中断された ]内容の継続性を指示するため — 内容を挿入できるようにする。 影響するのは,`塊~容器$自身に直に包含されている行l~boxに限られるが、 継承されるので,上書きされない限り 子孫の行l~boxにも効果がある。 当の~boxが`領域~分断$の直前に行l~boxを包含しない場合、 この~propによる効果は無い。 ◎ This property allows inserting content into the last line box before a (forced or unforced) region break to indicate the continuity of truncated/interrupted content. It only affects line boxes contained directly by the block container itself, but as it inherits, will have an effect on descendants’ line boxes unless overridden. If the box contains no line box immediately preceding a region break, then this property has no effect.
注記: そのような`領域~分断$で~boxを生成する仕方については、 ~level 5 【!4】の `§ ~overflowの~redirection@~CSSWG/css-overflow-5/#fragmentation$ を見よ。 ◎ Note: See CSS Overflow 4 § A Redirection of Overflow for a way to generate boxes with such a region break.
これは、 他の型の断片化~分断(例:`~page~box$/`柱~box$)にも適用されるべきか? ◎ Should this apply to other types of fragmentation breaks (e.g. pages, columns)?
挿入される内容は、 `塊~overflow省略符@ ( `block overflow ellipsis^en )と呼ばれる。 各種 値の意味は: ◎ The inserted content is called the block overflow ellipsis. Values have the following meanings:
- `none@v
- 描画は影響されない。 ◎ The rendering is unaffected.
- `auto@v
- [ ~U2026 ( `ellipsis^en, “~~省略符” ), または ~typographic的により適切な等価なもの ]を,影響される`行l~box$の終端に`塊~overflow省略符$として描画する。 ~UAは、[ `内容~言語$/書記体系/`書字~mode$ ]の規約を利用して,省略符を表す最も適切な文字列を決定するベキである。 ◎ Render an ellipsis character (U+2026)—or a more typographically-appropriate equivalent—as the block overflow ellipsis at the end of the affected line box. UAs should use the conventions of the content language, writing system, and writing mode to determine the most appropriate ellipsis string.
- `string$t
- `塊~overflow省略符$として指定された文字列を,影響される`行l~box$の終端に描画する。 ~UAは、 この文字列が無為に長い場合には,切落してもヨイ。 ◎ Render the specified string as the block overflow ellipsis at the end of the affected line box. The UA may truncate this string if it is absurdly long.
`block-ellipsis$p は `none$v でないときには、 `塊~overflow省略符$ — 以下,この節を通して単に %省略符 と記す — は,[ `匿名$な`行内~box$ %~box に包装された上で,`行l~box$の終端に[ 当の`塊~容器$の`根~行内~box$の直な子 ]として配置される ] — 行l~box内の他の内容に可用な空間は減らした上で。 %~box は、 その[ `unicode-bidi:plaintext$p, `line-height:0$p ]をアテガった上で, 行l~box内の`自動折返し機会$( `CSS-TEXT-3$r を見よ)のうち[ %省略符 全体が当の行lに収まることになるもの ]のうち[ 最後のもの ]の直後に配置される。 この目的においては、 `overflow-wrap$p により追加される`自動折返し機会$は無視される。 その結果,当の行l~boxの内容~全体が %省略符 にすり替えられた場合、 行l~boxは[ `CSS2$r に定義される`支柱$【!§ visudet#leading】 ]を包含するものと見なされる。 配置した後には、 ~textの`整列と両端揃え@~CSSTEXT#justification$が生じ, 挿入された %省略符 と 行lの残りの内容とを一緒に測定する。 ◎ When block-ellipsis is not none, the block overflow ellipsis string is wrapped in an anonymous inline and placed at the end of the line box as a direct child of the block container’s root inline box, reducing the space in the line box available to the other contents of the line. This inline is assigned unicode-bidi: plaintext and line-height: 0 and is placed in the line box after the last soft wrap opportunity (see [CSS-TEXT-3]) that would still allow the entire block overflow ellipsis to fit on the line. For this purpose, soft wrap opportunities added by overflow-wrap are ignored. If this results in the entire contents of the line box being displaced, the line box is considered to contain a strut, as defined in CSS 2.1 § 10.8.1 Leading and half-leading. Text alignment and justification occurs after placement, and measures the inserted block overflow ellipsis together with the rest of the line’s content.
注記: %省略符 の `line-height$p を `0^v に設定するのは、 挿入されても,行l高さ(`塊~size$)は~~拡がらないようにするためである — さもなければ、 ~lay-outし直される結果,~~循環が生じ得る。 これは, %省略符 を塗り時の演算として挿入することと ほぼ等価になるが、 それでも,整列と両端揃えには関与する。 %省略符 内の~glyphのうち,行lの[ 上/下 ]へ普通以上に突き出るものは、 ~overflowし得る難点もあるが。 ◎ Note: Setting the block overflow ellipsis's line-height to 0 makes sure that inserting it cannot cause the line’s height to grow, which could cause further relayouts and potentially cycles. This is almost equivalent to inserting the block overflow ellipsis as a paint-time operation, except that it still participates in alignment and justification. The downside is that unusually tall / deep glyphs in the block overflow ellipsis may overflow.
%省略符 は[ `first-letter$pe / `first-line$pe ]疑似要素には含まれないモノトスル。 ◎ The block overflow ellipsis must not be included in either the ::first-letter nor the ::first-line pseudo-elements.
当の`断片化~文脈$内に,後続な内容を受取るような後続な`断片化~容器$がある場合、 %省略符 にすり替えられた内容は,その`断片化~容器$へ押出されるモノトスル。 ◎ If there is a subsequent fragmentation container in the fragmentation context that would receive subsequent content, then the content displaced by the block overflow ellipsis must be pushed to that fragmentation container.
~UAは %省略符 を分断-不能な文字列として扱うモノトスル。 %省略符 は、 ~overflowの一部を成す場合には`~scroll可能な~overflow$として扱われ, その描画は `text-overflow$p ~propにより影響される。 ◎ The UA must treat the block overflow ellipsis as an unbreakable string, If any part of the block overflow ellipsis overflows, it is treated as scrollable overflow, and its rendering is affected by the text-overflow property.
%省略符 は、 ~eventを捕捉しない — どの~pointer~eventも,その奥にあるものへ配送される。 ◎ The block overflow ellipsis does not capture events: pointer events are dispatched to whatever is underneath it.
%省略符 による~boxの`内在的~size$に対する効果は無い — ~boxの[ `最小-内容~size$, `最大-内容~size$ ]は、[ `block-ellipsis$p は `none$v であった ]かのように計算される。 ◎ It also has no effect on the intrinsic size of the box: its min-content and max-content sizes are calculated exactly as if block-ellipsis were none.
注記: 将来の仕様は、 この特能を拡張し得る。 例えば, `ellipsis^pe 疑似要素を供して,当の~textを~styleできるようにしたり、 塊の子~要素の選択を許容する[ 行内~level/塊~level ]指示子として利用するために (その事例では、~eventを捕捉できる)。 ◎ Note: Future specifications may extend this feature, for example by providing an ::ellipsis pseudo-element to style the text, or by allowing the selection of a child element of the block to use as either an inline-level or block-level indicator (in which case, it can capture events).
5. ~overflowの断片化-法
5.1. 可視になる行l数の制限-法: `line-clamp^p 略式~prop
◎名 `line-clamp@p ◎値 `none$v | `integer [1,∞]$t || `block-ellipsis$tp ◎初 `none$v ◎適 個々の~propを見よ ◎継 個々の~propを見よ ◎百 受容しない ◎算 個々の~propを見よ ◎順 文法に従う ◎ア 個々の~propを見よ ◎表終`line-clamp$p ~propは、[ `max-lines$p, `block-ellipsis$p, `continue$p ]~prop用の`略式~prop$である。 ◎ The line-clamp property is a shorthand for the max-lines, block-ellipsis, and continue properties.
試験的な実装には,この略式とその下位propにより定義される全部的な挙動に従うことが奨励されるが、 今の所,作者には略式~propのみが公開される。 これは、 もっと手直しする余地を残しておくためである — 特に、 下位propやその値は改称され得る。 ◎ For the time being, experimental implementations are encouraged to follow the full behavior defined by this shorthand and its longhands, but to only expose the shorthand to authors. This is in order to facilitate further tweaking, and in particular potential renaming, of the longhand properties and their values.
この~propは、 塊~容器の内容を指定された行l数に制限できるようにする。 残りの内容は外へ断片化され、 描画されなくなる/測定されなくなる。 また,任意選択で、 最後の`行l~box$の中へ内容を挿入して,[ 切落された/中断された ]内容の継続性を指示できるようにする。 ◎ It allows limiting the contents of a block container to the specified number of lines; remaining content is fragmented away and neither rendered nor measured. Optionally, it also allows inserting content into the last line box to indicate the continuity of truncated/interrupted content.
各~下位propに設定される値は、 指定された値に応じて,次に従う: ◎ The values have the following meaning:
指定d値 | ||
---|---|---|
下位prop | `none@v | `integer [1,∞]$t || `block-ellipsis$tp
|
`continue$p | `auto$v1 | `discard$v1 |
`max-lines$p | `none$v1 | 指定された `integer^t — 省略された場合は `none$v1 |
`block-ellipsis$p | `none$v1 | 指定された `block-ellipsis^tp — 省略された場合は `auto$v1 |
【 `continue^p に設定される値は、[ `none^v のみが指定された場合, `integer^t と `none^v が指定された場合 ]で異なる結果になる。 】
◎ none • Sets max-lines to none, continue to auto, and block-ellipsis to none. ◎ <integer [1,∞]> <block-ellipsis> • Sets continue to discard if either or both values ares specified. • Sets max-lines to the specified <integer> or to none if omitted, and block-ellipsis to other component of the value if specified or to auto if omitted.この仕組みがどう演算するかの詳細は、 対応する各種~下位propを見よ。 ◎ See the corresponding longhand properties for details about how this mechanism operates.
次の例では、 各~記事の頭部にある段落は、 短くされた~menu内に挙げられ, “… (続きを読む)” で終端する 5 行lの中に収まるよう切落される: ◎ In this example, the lead paragraph of each article is listed in a shortened menu, truncated to fit within 5 lines that end with “… (continued on next page)”:
li { line-clamp: 5 "…(続きを読む)"; } strong { display: block; text-transform: uppercase; }
<li><a href="arch-effect">アンチアーティキュレーテッドバイラテラルスペキュレイティブクラスタスレッディンググリッドコンピューティングボッタクリアーキテクチャには、リレーショナルディストリビューテッドシンジケーションフィードバックシナジーコテンパンエフェクトがあります。</a></li>
見本~描画: ◎ Sample rendering:
5.1.1. 旧来のものとの互換性
旧来の内容との互換性を得るため、 `line-clamp$p を~supportする~UAは, 次も~supportするモノトスル ⇒# `-webkit-line-clamp$p ~prop, `continue$p ~prop用の追加的な値 `-webkit-discard$v1 ◎ For compatibility with legacy content, UAs that support line-clamp must also support the -webkit-line-clamp property and the additional -webkit-discard value for the continue property.
◎名 `-webkit-line-clamp@p `line-clamp^p1 ◎値 `none^v | `integer [1,∞]$t ◎初 `none$v ◎適 個々の~propを見よ ◎継 個々の~propを見よ ◎百 受容しない ◎算 個々の~propを見よ ◎順 文法に従う ◎ア 個々の~propを見よ ◎表終 ◎名 `continue$p ◎新値 `-webkit-discard$v1 ◎表終`-webkit-line-clamp$p は、 `line-clamp$p と同様に,[ `max-lines$p, `continue$p, `block-ellipsis$p ]用の略式である — ただし:
- `continue$p は、 `discard$v1 に代えて, `-webkit-discard$v1 に設定される。
- `block-ellipsis$p は、 無条件に `auto$v1 に設定される — `block-ellipsis$p 用の値は指定できない。
`continue$p 用の値 `-webkit-discard@v の挙動は、 `discard$v と一致する — ただし、 効果があるのは,当の~boxが ~AND↓ を満たすときに限られる:
- `display$p ~propの`指定d値$ ~IN { `-webkit-box$v0, `-webkit-inline-box$v0 }
- `-webkit-box-orient$p ~propの値 ~EQ `vertical^v
注記: 旧来の `-webkit-line-clamp$p ~propの各~実装は、 ここに指定された挙動と一致していなかった。 歴史的な挙動は、 例えば `この~blog-post@https://medium.com/mofed/css-line-clamp-the-good-the-bad-and-the-straight-up-broken-865413f16e5$ にて文書化されたとおり,風変わりで堅牢とは言えない。 現在の設計は、 その早期の実験による過ちから学んで,既存の内容と互換に足るものと意図されている — 最終的に、 各~実装が ここに指定された挙動に従うよう変更され得るような。 更なる調整が必要yなことが見出された場合、 この仕様に組入れられることになる。 作者は、 それまでは,不一致があり得ることを自覚するベキである。 ◎ Note: Implementations of the legacy -webkit-line-clamp property have not behaved identically to what is specified here. The historical behavior is quirky and less robust, as documented for example in this blog post. The current design learns from the mistakes of that early experiment, and is intended to be sufficiently compatible with existing content that implementations can eventually be changed to follow to the specified behavior. If further adjustments are found to be necessary, they will be incorporated to this specification. In the meanwhile, authors should be aware that there may be discrepancies.
5.2. 設定した行l数~後に分断を強制する: `max-lines^p ~prop
◎名 `max-lines@p ◎値 `none$v | `integer [1,∞]$t ◎初 `none$v ◎適 `塊~容器$のうち,`領域~分断$を捕捉する`断片化~容器$であるもの ◎ block containers which are also fragmentation containers that capture region breaks ◎継 されない ◎百 受容しない ◎算 ~keyword `none$v /整数 ◎順 文法に従う ◎ア 算出d値の型による ◎表終この~propによる効果があるのは、[ `領域~分断$を捕捉する`断片化~容器$ ]に限られる。 そのような`塊~容器$ %容器 に対しては、 その `max-lines$p の指定d値 %N は `none@v でないならば: ◎ This property only has an effect on boxes that are fragmentation containers that capture region breaks. ◎ Also, if the value of max-lines is not none,\
-
[ %容器 の子孫のうち,次を満たす %N 個目のもの ]の後に`領域~分断$が強制される ⇒ [ `行l~box$である ]~AND[ %容器 と同じ`塊~整形~文脈$に関与する ]~AND[ `~flow内$にある ] ◎ a region break is forced after its Nth descendant in-flow line box, where N is the specified value of max-lines. Only lines boxes in the same Block Formatting Context are counted:\
(ここでは、 子孫のうち`独立な整形~文脈を確立する$ものの内容は,数えられることなく飛ばされる。) ◎ the contents of descendants that establish independent formatting contexts are skipped over while counting line boxes.
- 該当する子孫の個数が %N に満たない場合、 `max-lines$p による`領域~分断$は導入されない。 ◎ If fewer than N line boxes exist, then max-lines introduces no region break.
注記: このことは、 `max-lines$p は,`複-柱~容器$に適用されるときには効果が無いことを含意する — それが包含する`行l~box$は,どれも`独立な整形~文脈$の中に入子にされるので。 ◎ Note: This implies that max-lines has no effect when applied to multi-column containers, since any line box they contain are nested into independent formatting contexts.
受容するのは正な整数に限られる。 0 以下の整数は無効になり、 当の宣言は`無視され$るモノトスル。 ◎ Only positive integers are accepted. Zero or negative integers are invalid and must cause the declaration to be ignored.
注記: [ `widows$p / `orphans$p / `break-inside$p ]~propは、[ `max-lines$p ~propにより導入される,強制d`領域~分断$ ]の位置には影響しない。 ◎ Note: The widows, orphans, and break-inside properties do not affect the position of the forced region break introduced by the max-lines property.
注記: “領域~分断 ( `region break@~CSSBREAK#region-break$en )” と命名されているが、 これは `CSS-REGIONS-1$r に依存するものではない。 この “領域” は、 強制d分断を次の 3 種に分類するために限り利用される ⇒# “~page分断” (何~pageかに分断する `css-page-3$r ), “柱~分断”(複-柱~layoutにて何~柱かに分断する `css-multicol-1$r ), “`領域~分断@” (~CSSに起因する他の種類の`断片化~容器$を分断する) ◎ Note: Despite the “region break” name, this is not a dependency on [CSS-REGIONS-1]. The word “region” is only used as a classifier for forced breaks: they can be “page breaks” (breaks across pages [css-page-3]), “column breaks” (breaks across multi-column layout columns [css-multicol-1]), or “region breaks” (breaks across any other kind of CSS-induced fragmentation containers).
`CSS-REGIONS-1$r も ~level 5 の `§ ~overflowの~redirection@~CSSWG/css-overflow-5/#fragmentation$ も~supportしない実装にとっては、 その種類の分断に出くわすことはなく,これは追加になる。 しかしながら,この追加が `CSS-REGIONS-1^r の機能性を持ち出す必要を孕むことはない。 必要になるのは、 次ですべてになる: ◎ If an implementation supports neither [CSS-REGIONS-1] nor CSS Overflow 4 § A: Redirection of Overflow, then it will have had no occasion yet to run into that kind of breaks, and this will be an addition. However the addition does not involve bringing over any of the [CSS-REGIONS-1] functionality. All that is needed is:
- 断片化-可能である。 ◎ be able to fragment
- 強制d分断の目的において、 これらの断片化~容器を “第三の類” (すなわち、~pageでも柱でもない)に分類する。 ◎ classify these fragmentation containers as “Category 3” (i.e. not pages nor columns) for the purpose of forced breaks.
5.3. ~overflowの断片化: `continue^p ~prop
◎名 `continue@p ◎値 `auto$v | `discard$v ◎初 `auto$v ◎適 `塊~容器$/`複-柱~容器$ ◎継 されない ◎百 受容しない ◎算 指定された~keyword ◎順 文法に従う ◎ア 離散的 ◎表終`continue$p ~propは、 次を指定する能を作者に与える ⇒ ~boxを`断片化~容器$に転化して( `CSS-BREAK-3$r を見よ), `断片化~分断$の後にある内容は破棄するモノトスル ◎ The continue property gives authors the ability to turn a box into a fragmentation container (see [CSS-BREAK-3]) and to specify that content after the fragmentation break must be discarded.
この~propは、 `CSS-REGIONS-1$r の `region-fragment^p ~propを一般~化して, それを置換することが意味されている。 この仕様において安定的に足るものになったときは、 `region-fragment^p は `CSS-REGIONS-1^r 仕様から除去されるべきである。 ◎ This property is meant to generalize and replace the region-fragment property from [CSS-REGIONS-1]. Once it is sufficiently stable in this specification, region-fragment should be removed from the regions specification in favor of this.
- `auto@v
- ~boxに収まり切らずに超過した内容は、 通例の規則に則って取扱われる。 ◎ If the box has more content than can fit, the excess content is handled according to the usual rules.
- `discard@v
- ~boxは、 `独立な整形~文脈を確立する$モノトスル。 ~boxは、 `領域~分断$を捕捉する`断片化~容器$になる `CSS-BREAK-3$r 。 最初の`領域~分断$より後にある内容は、 描画されない(下を見よ)。 (当の~boxが`複-柱~容器$である場合、 `~overflow柱$も描画されなくなる。) ◎ The box must establish an independent formatting context and becomes a fragmentation container that captures region breaks, if it is not already. [CSS-BREAK-3] Content after the first region break is not rendered (see below). (If the box is a multi-column container, any overflow columns are also not rendered.)
- 注記: この`領域~分断$は、 `強制d分断$にも`非強制d分断$にもなり得る (前者の例: `max-lines$p, あるいは[ `break-before$p / `break-after$p ]~propなど別の仕組みにより課される) (後者の例: ~boxの~sizeに拘束があること因り、 `discard$v でなかったなら,内容は この`断片化~容器$を~overflowする場合)。 他の`断片化~文脈$に適用されている分断は (この~box自身の~page割りなど)、 内容が破棄される原因にはならない。 ◎ Note: This region break might be forced (e.g. imposed by max-lines or by another mechanism, such as the break-before/break-after properties) or unforced (e.g. if the content would otherwise overflow this fragmentation container due to its size constraints). Breaks applying to other fragmentation contexts (such as pagination of this box itself) do not cause any content to be discarded.
ある記事に — 下に図示するように — 行内~方向に~overflowしている長い行lがあり, 末尾には`断片化~方向$に収まり切らない行lたち(図の赤色)があるとする:
[ `continue$p, `overflow$p ]~propの組合nに基づいて,異なる描画がアリになる:
`continue$p | `discard$v1 | `auto$v1 | `discard$v1 | `auto$v1 |
---|---|---|---|---|
`overflow$p | `visible$v0 | `visible$v0 | `hidden$v0 | `hidden$v0 |
描画 | `continue-discard-visible^dgm | `continue-auto-visible^dgm | `continue-discard-hidden^dgm | `continue-auto-hidden^dgm |
`continue:discard$p に因り “描画されなくなる” 内容は、 `display:none$p のときと類似に破棄される — それは: ◎ Content that is “not rendered” due to continue: discard is discarded, similar to display: none:
- 描画されない。 ◎ It is not rendered.
- 発話の具現化(音声化)にも可用にされない。 ◎ It is also not made available for speech rendering.
- 利用者-ヤリトリを許容しない。 ◎ It does not allow user interaction.
- OM 【 `object model^en 】に対する効果を,きちんと定義する。 [`2970$issue] ◎ Make sure effects on OM are well defined [Issue #2970]
- `有位置$な要素のうち,その`静的~位置$が破棄された内容~内にあるものについては、 どうか — 描画されないのか? `Sydney F2F 会合@https://lists.w3.org/Archives/Public/www-style/2018Jul/0030.html$ における論点も見よ。 [`2971$issue] ◎ What about positioned elements whose static position is in the discarded content are not rendered? See also discussions in the Sydney F2F meeting. [Issue #2971]
しかしながら、 `内在的~size$は`断片化~容器$たちにまたがって計算されるので、 この内容は[ ~boxの`行内-軸$における[ `最小-内容~size$ / `最大-内容~size$ ]を見出す目的 ]においては,織り込まれる ( `CSS-BREAK-3$r `§ ~sizeが一様でない断片化~容器への分断-法@~CSSBREAK#varying-size-boxes$ を見よ)。 ◎ However, since intrinsic sizes are calculated across fragmentation containers, this content is taken into account for the purpose of finding the box’s min-content and max-content inline sizes (see CSS Fragmentation 3 § 5.1 Breaking into Varying-size Fragmentainers).\
`塊-軸$における[ `最小-内容~size$ / `最大-内容~size$ ]は、 `断片~化~flow$の始端から最初の`強制d分断$ — 強制d分断が無い場合は`断片~化~flow$の終端 — までの内容に基づいて計算される。 ◎ Min-content and max-content block sizes are calculated based on the content from the start of the fragmented flow to the first forced break if any, or to the end of the fragmented flow if there is no forced break.
注記: `並行な断片化~flow@~CSSBREAK#parallel-flows$の事例では、[ ~box~treeにおいて`断片化~分断$より後に生じる内容 ]も依然として描画され得る — それが、 この`断片化~容器$の終端を表現している位置より上に~lay-outされるならば。 ◎ Note: In the case of parallel fragmentation flows, content occurring after the fragmentation break in the box tree could still be rendered, if it is laid out above the position representing the end of this fragmentation container.
加えて,互換性を得るため ( `§ 旧来のものとの互換性@#webkit-line-clamp$ を見よ)、 ~boxが ~AND↓ を満たすときは…
- `continue$p ~propの`算出d値$ ~EQ `discard$v1
- (V): `-webkit-box-orient$p ~propの`算出d値$ ~EQ `vertical^v
- (W): `display$p ~propの`指定d値$ ~IN { `-webkit-box$v0, `-webkit-inline-box$v0 }
…ときは、 当の~boxの `display$p ~propの`算出d値$は,その指定d値に応じて[ `-webkit-box$v0 ならば `flow-root$v0 / `-webkit-inline-box$v0 ならば `inline-block$v0 ]になり、 当の~boxは,`塊~整形~文脈$【!BFC】を確立する。
◎ Additionaliy, for compatibility (see § 5.1.1 Legacy compatibility), when the computed value of the continue property is discard and the computed value of the -webkit-box-orient property is vertical: • If the specified value of the display property is -webkit-box, the computed value becomes flow-root and the box establishes a BFC. • If the specified value of the display property is -webkit-inline-box, the computed value becomes inline-block and the box establishes a BFC.注記: このことは、 `line-clamp$p は,上に挙げた条件 (V), (W) に関して[ どちらも満たされる/どちらも満たされない ]場合は働くが[ (V) は満たされないが (W) は満たされる ]場合は働かないことを意味する — 後者の場合,当の~boxは、 `塊~容器$ではなく`~flex容器$になり, `continue$p ~propは適用されなくなるので。 【[ (V) は満たされるが (W) は満たされない場合]については、言及されていない。】 ◎ Note: This means that line-clamp will work if both or neither of -webkit-box-orient: vertical and display: -webkit-box or display: -webkit-inline-box are set, but not if display: -webkit-box or display: -webkit-inline-box is set while -webkit-box-orient: vertical isn’t, as the box would be a flex container rather than a block container, and thus the continue property would not apply.
付録 A. `scrollbar-gutter^p 用にアリな拡張
【 この節の内容は、未訳。 】
~privacyの考慮点
この仕様が導入する新たな~privacyの考慮点は無い。 ◎ This specification introduces no new privacy considerations.
~securityの考慮点
この仕様が導入する新たな~securityの考慮点は無い。 ◎ This specification introduces no new security considerations.
変更点
- `2017年 6月 13日 作業草案@~TR/2017/WD-css-overflow-4-20170613/$ からの有意な変更点 ◎ Recent Changes ◎ Significant changes since the June 2017 Working Draft include:
- `CSS-UI-4$r から `text-overflow$p の定義を移動した。 ◎ Moved in the definition of text-overflow from [CSS-UI-4].
- `scrollbar-gutter$p の中核を成す定義を`~level 3$ へ移動した (それは、 この仕様が差分~仕様でなくなったとき,ここへ戻されることになる)。 探求的な `scrollbar-gutter^p 拡張~案を付録の中へ移した。 ◎ Moved the core definition of scrollbar-gutter to [CSS-OVERFLOW-3] (it will be copied back here once this specification is undiffed) and shift exploratory scrollbar-gutter extension ideas into an appendix.
- [ `overflow$p, `overflow-clip-margin$p ]を`置換d要素$に適用するための拡張を定義した。 これが正確にどう働くかは、 依然として,論点の最中にある。 ( `7144$issue ) ◎ Defined extension of overflow and overflow-clip-margin to apply to replaced elements. How exactly this works is still still under discussion. (Issue 7144)
- `overflow-clip-margin$p 用の`下位prop$を定義した。 ( `7245$issue ) ◎ Defined longhands for overflow-clip-margin. (Issue 7245)
- 略式~prop `line-clamp$p の構文を[ `max-lines$p 用の値を省略することを許容する ]よう変更した。 ( `9368$issue ) ◎ Change the line-clamp shorthand syntax to allow omitting the max-lines value (Issue 9368)
- `scrollbar-gutter$p ~prop用の暫定な値 `force^v を落とした。 ( `9815$issue ) ◎ Dropped the tentative force value for the scrollbar-gutter property. (Issue 9815)
- `continue:discard$p が利用されたときは、 独立な整形~文脈を確立するようにした。 ( `10323$issue ) ◎ Establish an Independent Formatting Context when continue: discard is used. (Issue 10323)
- 次をいずれも伴う要素を塊~化するようにした ( `10324$issue ) ⇒# `line-clamp$p または `-webkit-line-clamp$p 【は初期~値でない】, `display$p は `-webkit-box^v または `-webkit-inline-box^v, `-webkit-box-orient$p は `vertical^v ◎ Blockify elements with (-webkit-)line-clamp, display: -webkit-(inline-)box and -webkit-box-orient: vertical. (Issue 10324)
- `~level 3$ からの変更点 ◎ Changes Since Level 3
- まだこれから。 ◎ TBD
謝辞
とりわけ、 次の方々からの~feedbackに: ◎ Thanks especially to the feedback from\
Rossen Atanassov, Bert Bos, Andreu Botella, Tantek Çelik, John Daggett, fantasai, Daniel Glazman, Vincent Hardy, Håkon Wium Lie, Peter Linss, Robert O’Callahan, Florian Rivoal, Alan Stearns, Steve Zilles, and all the rest of the `www-style@https://lists.w3.org/Archives/Public/www-style/$ community.