Intent to Implement and Ship: Logical properties for contain-intrinsic-size

75 views
Skip to first unread message

Christian Biesinger

unread,
Aug 12, 2021, 11:07:14 PM8/12/21
to blink-dev
Contact emails

cbies...@chromium.org

Explainer

None

Specification

https://www.w3.org/TR/css-sizing-4/#intrinsic-size-override

Summary

This converts contain-intrinsic-size to a shorthand and adds
corresponding contain-intrinsic-{width,height} properties as well as
contain-intrinsic-{inline,block} size. For example, this will make the
following work: <div style="writing-mode: vertical-lr; contain: size;
contain-intrinsic-inline-size: 100px; contain-intrinsic-block-size:
50px;"></div>



Blink component

Blink>Layout

Search tags

contain-intrinsic-size, contain intrinsic size, logical

TAG review

https://github.com/w3ctag/design-reviews/issues/624

TAG review status

Pending

Risks



Interoperability and Compatibility



Gecko: Positive (https://github.com/mozilla/standards-positions/issues/512)

WebKit: No signal
(https://lists.webkit.org/pipermail/webkit-dev/2021-April/031787.html)

Web developers: No signals


Debuggability

like any other CSS property



Is this feature fully tested by web-platform-tests?

Yes

Flag name



Requires code in //chrome?

False

Tracking bug

https://crbug.com/1157844

Estimated milestones



Link to entry on the Chrome Platform Status

https://chromestatus.com/feature/5709654999957504

Motivation

For the common case of using c-i-s to provide a better scrollbar
approximation for content-visibility: auto, being able to just specify
an intrinsic height is helpful. And of course the logical versions
make this easier for vertical writing mode pages.

This also paves the way for contain-intrinsic-size: auto and will make
1d size containment work more straightforwardly and thus help with
container queries.

This intent message was generated by Chrome Platform Status.

Christian Biesinger

unread,
Aug 18, 2021, 5:30:39 PM8/18/21
to blink-dev
Some more pieces of information:

- The old version of the spec has the initial value of
contain-intrinsic-size be `auto`; the new version changes it to `none`
because auto now means something else. This patch keeps using `auto`
as in the old version.

- This is implemented in https://crrev.com/c/3093047

- Chromestatus did not add the link to the initial public proposal in
the email, which expands some more on the use cases:
https://github.com/w3c/csswg-drafts/issues/5432#issue-679230597



Christian

Alex Russell

unread,
Aug 19, 2021, 3:33:13 PM8/19/21
to blink-dev, Christian Biesinger
LGTM1

Yoav Weiss

unread,
Aug 20, 2021, 12:20:54 AM8/20/21
to Alex Russell, blink-dev, Christian Biesinger
LGTM2

--
You received this message because you are subscribed to the Google Groups "blink-dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email to blink-dev+...@chromium.org.
To view this discussion on the web visit https://groups.google.com/a/chromium.org/d/msgid/blink-dev/90041ace-58b2-461e-a2b2-9b6c9e9fae4an%40chromium.org.

Daniel Bratell

unread,
Aug 20, 2021, 9:47:17 AM8/20/21
to Yoav Weiss, Alex Russell, blink-dev, Christian Biesinger
Reply all
Reply to author
Forward
0 new messages