- From: Ian Kilpatrick via GitHub <sysbot+gh@w3.org>
- Date: Wed, 27 Apr 2022 22:31:35 +0000
- To: public-css-archive@w3.org
bfgeek has just created a new issue for https://github.com/w3c/csswg-drafts: == [css-overflow-3] inline/block start edges should likely refer to a "scroll origin" concept. == https://drafts.csswg.org/css-overflow-3/#scrollable > The border boxes of all boxes for which it is the containing block and whose border boxes are positioned not wholly outside its [block-start](https://drafts.csswg.org/css-writing-modes-4/#block-start) or [inline-start](https://drafts.csswg.org/css-writing-modes-4/#inline-start) padding edges, accounting for transforms by projecting each box onto the plane of the element that establishes its [3D rendering context](https://drafts.csswg.org/css-transforms-2/#3d-rendering-context). [[CSS3-TRANSFORMS]](https://drafts.csswg.org/css-overflow-3/#biblio-css3-transforms) The inline-start/block-start is close - but not quite sufficient. The spec needs to introduce the concept of a "scroll origin"/"scroll originating corner"/"something". For example: https://www.software.hixie.ch/utilities/js/live-dom-viewer/?saved=10262 ```html <!DOCTYPE html> <div id="target" style="display: flex; flex-direction: column-reverse; overflow: scroll; width: 100px; height: 100px; position: relative;"> no overflow <div style="background: green; width: 50px; min-height: 200px; position: absolute; top: 400px;"></div> </div> <script> var target = document.getElementById('target'); console.log(target.scrollTop); console.log(target.scrollHeight); </script> ``` Here the "scroll origin corner" is the bottom/left. Anything wholly placed below the bottom edge, or to the left of the left edge doesn't contribute to scrollable overflow. For most things this is the inline/block-start edge, however flex follows the main/cross start edge. Internally the engines all have this concept represented in some way: FF: https://searchfox.org/mozilla-central/source/layout/base/nsLayoutUtils.cpp#1535-1555 Blink: https://source.chromium.org/chromium/chromium/src/+/main:third_party/blink/renderer/core/layout/ng/flex/layout_ng_flexible_box.cc;l=22-36;drc=1d8b1965b96c021ee069a3ebda38be7aaf8a5786;bpv=1;bpt=1 WebKit: https://github.com/WebKit/WebKit/blob/main/Source/WebCore/rendering/RenderFlexibleBox.cpp#L2314-L2330 Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/7237 using your GitHub account -- Sent via github-notify-ml as configured in https://github.com/w3c/github-notify-ml-config
Received on Wednesday, 27 April 2022 22:31:37 UTC