@@ -98,11 +98,11 @@ Introduction {#intro}
98
98
99
99
<em> This section is not normative.</em>
100
100
101
- The layout stage of CSS is responsible for generating and positioning <a> fragments</a> from the
102
- <a>box tree</a> .
101
+ The layout stage of CSS is responsible for generating and positioning [= fragments=] from the [=box
102
+ tree=] .
103
103
104
- This specification describes an API which allows developers to layout a <a> box</a> in response to
105
- computed style and <a> box tree</a> changes.
104
+ This specification describes an API which allows developers to layout a [= box=] in response to
105
+ computed style and [= box tree=] changes.
106
106
107
107
Layout API Containers {#layout-api-containers}
108
108
==============================================
@@ -113,29 +113,29 @@ to the <<display-inside>> production: <code>layout(<<ident>>)</code>.
113
113
<dl dfn-for="display" dfn-type=value>
114
114
<dt> <dfn>layout()</dfn>
115
115
<dd>
116
- This value causes an element to generate a <a> layout API container</a> box.
116
+ This value causes an element to generate a [= layout API container=] box.
117
117
</dl>
118
118
119
119
A <dfn>layout API container</dfn> is the box generated by an element with a <<display-inside>>
120
- <a> computed value</a> ''layout()'' .
120
+ [= computed value=] ''layout()'' .
121
121
122
- A <a> layout API container</a> establishes a new <dfn>layout API formatting context</dfn> for its
122
+ A [= layout API container=] establishes a new <dfn>layout API formatting context</dfn> for its
123
123
contents. This is the same as establishing a block formatting context, except that the layout
124
124
provided by the author is used instead of the block layout.
125
125
For example, floats do not intrude into the layout API container, and the layout API container's
126
126
margins do not collapse with the margins of its contents.
127
127
128
- All inflow children of a <a> layout API container</a> are called <dfn>layout API children</dfn> and
129
- are laid out using the author defined layout.
128
+ All inflow children of a [= layout API container=] are called <dfn>layout API children</dfn> and are
129
+ laid out using the author defined layout.
130
130
131
- <a> Layout API containers</a> form a containing block for their contents
132
- <a href="https://www.w3.org/TR/CSS2/visudet.html#containing-block-details">exactly like block
131
+ [= Layout API containers=] form a containing block for their contents <a
132
+ href="https://www.w3.org/TR/CSS2/visudet.html#containing-block-details"> exactly like block
133
133
containers do</a> . [[!CSS21]]
134
134
135
135
Note: In a future level of the specification there may be a way to override the containing block
136
136
behaviour.
137
137
138
- The 'overflow' property applies to <a> layout API containers</a> . This is discussed in
138
+ The 'overflow' property applies to [= layout API containers=] . This is discussed in
139
139
[[#interaction-overflow]] .
140
140
141
141
As the layout is entirely up to the author, properties which are used in other layout modes (e.g.
@@ -159,49 +159,47 @@ Layout API is supported.
159
159
Layout API Container Painting {#painting}
160
160
-----------------------------------------
161
161
162
- <a> Layout API Container</a> children paint exactly the same as inline blocks [[!CSS21]] , except that
162
+ [= Layout API Container=] children paint exactly the same as inline blocks [[!CSS21]] , except that
163
163
the order in which they are returned from the layout method (via
164
164
{{FragmentResultOptions/childFragments}} ) is used in place of raw document order, and 'z-index'
165
165
values other than ''z-index/auto'' create a stacking context even if 'position' is ''static'' .
166
166
167
167
Box Tree Transformations {#layout-api-box-tree}
168
168
-----------------------------------------------
169
169
170
- The <a> layout API children</a> can act in different ways depending on the value of <a for=" document
171
- layout definition"> layout options'</a> {{LayoutOptions/childDisplay}} (set by
172
- <code> layoutOptions </code> on the class).
170
+ The [= layout API children=] can act in different ways depending on the value of [= document layout
171
+ definition/ layout options'=] {{LayoutOptions/childDisplay}} (set by <code> layoutOptions </code> on
172
+ the class).
173
173
174
- If the value of <a for="document layout definition">layout options'</a>
175
- {{LayoutOptions/childDisplay}} is <code> "block"</code> the 'display' value of that child is
176
- <a>blockified</a> . This is similar to children of <a>flex containers</a> or <a>grid containers</a> .
177
- See [[!css3-display]] .
174
+ If the value of [=document layout definition/layout options'=] {{LayoutOptions/childDisplay}} is
175
+ <code> "block"</code> the 'display' value of that child is [=blockified=] . This is similar to
176
+ children of [=flex containers=] or [=grid containers=] . See [[!css3-display]] .
178
177
179
- If the value of <a for="document layout definition">layout options'</a>
180
- {{LayoutOptions/childDisplay}} is <code> "normal"</code> , no <a>blockification</a> occurs. Instead
181
- children with a <<display-outside>> <a>computed value</a> of ''inline'' (a <a>root inline box</a> )
182
- will produce a single {{LayoutFragment}} representing each line when
183
- {{LayoutChild/layoutNextFragment()}} is called.
178
+ If the value of [=document layout definition/layout options'=] {{LayoutOptions/childDisplay}} is
179
+ <code> "normal"</code> , no [=blockification=] occurs. Instead children with a <<display-outside>>
180
+ [=computed value=] of ''inline'' (a [=root inline box=] ) will produce a single {{LayoutFragment}}
181
+ representing each line when {{LayoutChild/layoutNextFragment()}} is called.
184
182
185
183
Note: This allows authors to adjust the available inline size of each line, and position each line
186
184
separately.
187
185
188
- Children of a {{LayoutChild}} which represents <a> root inline box</a> also have some additional
186
+ Children of a {{LayoutChild}} which represents [= root inline box=] also have some additional
189
187
transformations.
190
188
191
- - A <a> block-level</a> box inside a <a> inline-level</a> box is <a> inlinified</a> I.e. its
189
+ - A [= block-level=] box inside a [= inline-level=] box is [= inlinified=] I.e. its
192
190
<<display-outside>> is set to ''inline'' .
193
191
194
- - A <a> float</a> inside a <a> inline-level</a> box is not taken out of flow. Instead it must be
195
- treated as inflow, and be <a> inlinified</a> .
192
+ - A [= float=] inside a [= inline-level=] box is not taken out of flow. Instead it must be treated as
193
+ inflow, and be [= inlinified=] .
196
194
197
- In both of the above cases the children become <a> atomic inlines</a> .
195
+ In both of the above cases the children become [= atomic inlines=] .
198
196
199
197
Note: User agents would not perform any "inline splitting" or fragmenting when they encounter a
200
- <a> block-level</a> box.
198
+ [= block-level=] box.
201
199
202
200
<div class="note">
203
201
Note: In the example below "inline-span" would be represented as a single {{LayoutChild}} with
204
- both "block" and "float" being <a> atomic inlines</a> .
202
+ both "block" and "float" being [= atomic inlines=] .
205
203
<pre class="lang-html">
206
204
<span id="inline-span">
207
205
Text
0 commit comments