Skip to content

[css-overflow-3] Note potentially incorrect. Should use OOF-positioned terminology instead. #7511

Open
@bfgeek

Description

@bfgeek

https://drafts.csswg.org/css-overflow-3/#scrollable

Note: This padding represents, within the [scrollable overflow rectangle](https://drafts.csswg.org/css-overflow-3/#scrollable-overflow-rectangle), the box’s own padding so that when its in-flow content is scrolled to the end, there is padding between the end-edge of its content and the border edge of the box. It typically ends up being exactly the same size as the box’s own padding, except in a few cases—such as when an out-of-flow element, or the visible overflow of a descendent, has already increased the size of the scrollable overflow rectangle outside the conceptual “content edge” of the [scroll container](https://drafts.csswg.org/css-overflow-3/#scroll-container)’s content.

As written the note uses the in-flow and out-of-flow terminology. This leaves out the subtle distinction of floats[1].

Floats are halfway between being inflow, and out-of-flow. For this specific case, at the top level, they behave the same as in-flow content. For example they contribute to the intrinsic size of elements.

https://www.software.hixie.ch/utilities/js/live-dom-viewer/?saved=10479

<div style="display: flow-root; width: min-content; height: min-content; background: green;">
  <div style="float: left; width: 100px; height: 100px;"></div>
</div>

Due to this Blink will include these top-level floats as part of the alignment rectangle. E.g.
https://www.software.hixie.ch/utilities/js/live-dom-viewer/?saved=10480

<div style="overflow: scroll; width: 60px; height: 60px; padding: 10px;">
  <div style="float: left; width: 100px; height: 100px; background: green;"></div>
</div>

I suspect the note should likely refer to: "out-of-flow positioned elements", and "non out-of-flow positioned elements" instead of "out-of-flow elements", and "in-flow" elements respectively.

Ian

[1] Note: floats grouped together with out-of-flow-positioned elements is rarely useful.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions