@@ -235,7 +235,7 @@ Scrolling Overflow</h3>
235235 coincides with its padding box,
236236 and is called the <dfn export>scrollport</dfn> .
237237 A box’s <dfn export>nearest scroll container</dfn>
238- is the its nearest [=scroll container=] ancestor in the [=containing block chain=] .
238+ is the nearest [=scroll container=] ancestor in the [=containing block chain=] .
239239 (See [[#overflow-properties]] for control over whether a box clips or scrolls its overflow.)
240240
241241 Scrolling operations can be initiated by the user
@@ -325,24 +325,24 @@ Clipping and Scrolling Overflow</h2>
325325
326326 The properties in this chapter specify whether and where a box’s [=overflow=] is clipped;
327327 if so, whether it is a [=scroll container=] ;
328- and if so, in which axis(es) it is allowed to scroll,
328+ and if so, in which axis(es) it is allowed to scroll (its <dfn export lt="scrollable axis">scrollable axis(es)</dfn> ) ,
329329 thus which of the following types of [=scroll container=] it is:
330330
331331 <dl>
332- <dt> <dfn>single-axis scroll container</dfn>
332+ <dt> <dfn export >single-axis scroll container</dfn>
333333 <dd>
334- A [=scroll container=] that can scroll in only one axis.
334+ A [=scroll container=] that is scrollable in only one axis.
335335
336- <dt> <dfn>dual-axis scroll container</dfn>
336+ <dt> <dfn export >dual-axis scroll container</dfn>
337337 <dd>
338- A [=scroll container=] that can scroll in both axes.
338+ A [=scroll container=] that is scrollable in both axes.
339339
340- <dt> <dfn>block-axis scroll container</dfn>
341- <dt> <dfn>inline-axis scroll container</dfn>
342- <dt> <dfn>x-axis scroll container</dfn>
343- <dt> <dfn>y-axis scroll container</dfn>
340+ <dt> <dfn export >block-axis scroll container</dfn>
341+ <dt> <dfn export >inline-axis scroll container</dfn>
342+ <dt> <dfn export >x-axis scroll container</dfn>
343+ <dt> <dfn export >y-axis scroll container</dfn>
344344 <dd>
345- A [=scroll container=] that can scroll in the specified axis,
345+ A [=scroll container=] that is scrollable in the specified axis,
346346 regardless of whether it can also scroll in the other axis.
347347 </dl>
348348
@@ -398,7 +398,6 @@ Managing Overflow: the 'overflow-x', 'overflow-y', and 'overflow' properties</h3
398398 <dd>
399399 There is no special handling of overflow, that is,
400400 the box’s content is rendered outside the box if positioned there.
401- The box is not a <a>scroll container</a> .
402401
403402 <dt> <dfn>hidden</dfn>
404403 <dd>
@@ -410,8 +409,7 @@ Managing Overflow: the 'overflow-x', 'overflow-y', and 'overflow' properties</h3
410409 such as dragging on a touch screen
411410 or using the scrolling wheel on a mouse.
412411 However, the content must still be scrollable programmatically,
413- for example using the mechanisms defined in [[CSSOM-VIEW]] ,
414- and the box is therefore still a <a>scroll container</a> .
412+ for example using the mechanisms defined in [[CSSOM-VIEW]] .
415413
416414 <dt> <dfn>clip</dfn>
417415 <dd>
@@ -422,8 +420,7 @@ Managing Overflow: the 'overflow-x', 'overflow-y', and 'overflow' properties</h3
422420 In addition, unlike ''overflow: hidden''
423421 which still allows programmatic scrolling,
424422 ''overflow: clip'' forbids scrolling entirely,
425- through any mechanism,
426- and therefore the box is not a <a>scroll container</a> .
423+ through any mechanism.
427424
428425 Unlike ''hidden'' , this value <strong> does not</strong> cause
429426 the element to establish a new formatting context.
@@ -435,8 +432,8 @@ Managing Overflow: the 'overflow-x', 'overflow-y', and 'overflow' properties</h3
435432 <dd>
436433 This value indicates that
437434 the content is clipped to the [=overflow clip edge=] ,
438- but can be scrolled into view
439- (and therefore the box is a <a>scroll container</a> ).
435+ but can be scrolled into view.
436+
440437 Furthermore, if the user agent uses a scrolling mechanism
441438 that is visible on the screen (such as a scroll bar or a panner),
442439 that mechanism should be displayed
@@ -458,21 +455,28 @@ Managing Overflow: the 'overflow-x', 'overflow-y', and 'overflow' properties</h3
458455 </dl>
459456
460457 The ''overflow/scroll'' , ''overflow/auto'' , and ''overflow/hidden'' values
461- are known as the <dfn export lt="scrollable overflow value">scrollable values</dfn> of 'overflow' .
458+ are known as the <dfn export lt="scrollable overflow value" local-lt="scrollable value">scrollable values</dfn> of 'overflow' .
459+ They cause the box to be a [=scroll container=]
460+ and the affected axis to be a [=scrollable axis=] .
461+ A [=block box=] that becomes a [=scroll container=]
462+ also establishes an [=independent formatting context=] .
463+
462464 The ''overflow/visible'' and ''overflow/clip'' values
463465 are known as the <dfn export lt="non-scrollable overflow value">non-scrollable values</dfn> .
466+ However, if the other axis specifies a [=scrollable value=] ,
467+ a specified value of ''visible''
468+ [=computed value|computes=] to ''overflow/auto'' ,
469+ enabling scrolling in its axis.
470+ If neither axis computes to a [=scrollable value=] ,
471+ the box is not a [=scroll container=] .
472+ If only one axis computes to a [=scrollable value=]
473+ (i.e. the other axis is ''overflow/clip'' ),
474+ the box is a [=single-axis scroll container=] .
464475
465- The ''visible'' /''overflow/clip'' values of 'overflow'
466- compute to ''overflow/auto'' /''hidden'' (respectively)
467- if one of 'overflow-x' or 'overflow-y' is neither ''visible'' nor ''overflow/clip'' .
468476 On [=replaced elements=] ,
469477 a [=computed value|computed=] ''overflow/hidden'' value further resolves
470478 to a [=used value=] of ''overflow/clip'' .
471479
472- If the computed value of 'overflow' on a <a>block box</a>
473- is neither ''overflow/visible'' nor ''overflow/clip'' nor a combination thereof,
474- it [=establishes an independent formatting context=] for its contents.
475-
476480 User agents must also support
477481 the <dfn value for="overflow, overflow-x, overflow-y, overflow-block, overflow-inline">overlay</dfn> keyword
478482 as a [=legacy value alias=] of ''overflow/auto'' .
@@ -1334,6 +1338,11 @@ ellipsis interaction with scrolling interfaces</h4>
13341338
13351339 This appendix is <em> informative</em> .
13361340
1341+ Significant changes since the <a href="https://www.w3.org/TR/2025/WD-css-overflow-3-20251007/">7 October 2025 Working Draft</a> :
1342+ * Allow combining ''overflow: clip'' behavior in one axis with scrolling in the other,
1343+ to allow single-axis trapping for e.g. [=sticky positioning=] .
1344+ (<a href="https://github.com/w3c/csswg-drafts/issues/12289">Issue 12289</a> )
1345+
13371346 Significant changes since the <a href="https://www.w3.org/TR/2023/WD-css-overflow-3-20230329/">29 March 2023 Working Draft</a> :
13381347
13391348 * Define that ''overflow: hidden'' is treated as ''overflow: clip'' on [=replaced elements=] .
0 commit comments