@@ -1169,69 +1169,66 @@ SVG Elements {#unbox-svg}
11691169---------------------------
11701170
11711171 : An <{svg}> element that has CSS box layout
1172- (this includes all <{svg}> whose parent is an HTML element,
1173- as well as document root elements)
1172+ (this includes all <{svg}> whose parent is an HTML element,
1173+ as well as document root elements)
11741174 ::
11751175 ''display: contents'' behaves as ''display: none'' .
11761176
11771177 : All other SVG [=container elements=] that are also [=renderable elements=]
1178- : SVG [=text content child elements=]
1179- : <{use}>
1178+ : SVG [=text content child elements=]
1179+ : <{use}>
11801180 ::
11811181 ''display: contents'' strips the element from the formatting tree,
11821182 and hoists its contents up to display in its place.
1183- These contents include the shadow-DOM content for <{use}> .
1183+ These contents include the shadow-DOM content for <{use}> .
11841184
11851185 : any other SVG elements
11861186 ::
11871187 ''display: contents'' behaves as ''display: none'' .
1188-
1189- When an element is stripped from the formatting tree,
1190- then any SVG attributes on that element
1191- that control the layout and formatting of its child content
1192- (or shadow DOM content)
1193- are ignored when rendering the contents.
1194- However, SVG [=presentation attributes=]
1195- continue to affect CSS property inheritance,
1196- the same as CSS styles set in any other way.
1197-
1198- Issue(w3c/csswg-drafts#2502):
1199- Is this description clear enough to identify
1200- the SVG attributes affected by ''display: contents'' ?
1201-
1202-
1203- <div class="note">
1204-
1205- The intention here is that
1206- the ''display: none'' behavior applies
1207- whenever the "rendering context" inside the element
1208- is different than the context outside of it.
1209- If the element's child elements would not be valid children
1210- of the element's parent,
1211- you cannot simply hoist them up the formatting tree.
1212-
1213- For example, text content and text formatting elements in SVG
1214- require a <{text}> element context;
1215- if you remove a <{text}> ,
1216- its child text content and elements are no longer valid.
1217- For that reason, ''display: contents'' on <{text}>
1218- prevents the entire text element from being rendered.
1219- In contrast, any content inside a <{tspan}> or <{textPath}>
1220- is also valid content inside the parent text formatting context,
1221- so the hoisting behavior applies for these elements.
1222-
1223- Similarly, if hoisting would convert the children from
1224- [=non-rendered elements=]
1225- (e.g., a shape inside a <{pattern}> or <{symbol}> )
1226- to [=rendered elements=]
1227- (e.g., a shape that is a direct child of the <{svg}> ),
1228- that is an invalid change of rendering context.
1229- Never-rendered container elements therefore cannot be "un-boxed"
1230- by ''display: contents'' .
1231- (Also, authors cannot override the 'display' property on these elements:
1232- it is forced to ''none'' by an ''!important'' user agent style rule.)
1233-
1234- </div>
1188+
1189+ When an element is stripped from the formatting tree,
1190+ then any SVG attributes on that element
1191+ that control the layout and formatting of its child content
1192+ (or shadow DOM content)
1193+ are ignored when rendering the contents.
1194+ However, SVG [=presentation attributes=]
1195+ continue to affect CSS property inheritance,
1196+ the same as CSS styles set in any other way.
1197+
1198+ Issue(w3c/csswg-drafts#2502):
1199+ Is this description clear enough to identify
1200+ the SVG attributes affected by ''display: contents'' ?
1201+
1202+ <div class="note">
1203+ The intention here is that
1204+ the ''display: none'' behavior applies
1205+ whenever the "rendering context" inside the element
1206+ is different than the context outside of it.
1207+ If the element's child elements would not be valid children
1208+ of the element's parent,
1209+ you cannot simply hoist them up the formatting tree.
1210+
1211+ For example, text content and text formatting elements in SVG
1212+ require a <{text}> element context;
1213+ if you remove a <{text}> ,
1214+ its child text content and elements are no longer valid.
1215+ For that reason, ''display: contents'' on <{text}>
1216+ prevents the entire text element from being rendered.
1217+ In contrast, any content inside a <{tspan}> or <{textPath}>
1218+ is also valid content inside the parent text formatting context,
1219+ so the hoisting behavior applies for these elements.
1220+
1221+ Similarly, if hoisting would convert the children from
1222+ [=non-rendered elements=]
1223+ (e.g., a shape inside a <{pattern}> or <{symbol}> )
1224+ to [=rendered elements=]
1225+ (e.g., a shape that is a direct child of the <{svg}> ),
1226+ that is an invalid change of rendering context.
1227+ Never-rendered container elements therefore cannot be "un-boxed"
1228+ by ''display: contents'' .
1229+ (Also, authors cannot override the 'display' property on these elements:
1230+ it is forced to ''none'' by an ''!important'' user agent style rule.)
1231+ </div>
12351232
12361233
12371234MathML Elements {#unbox-mathml}
0 commit comments