Skip to content

Commit 33ceef8

Browse files
committed
Merge branch 'main' into scroll-markers
2 parents 0be64b6 + ff353bd commit 33ceef8

File tree

55 files changed

+11894
-10279
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

55 files changed

+11894
-10279
lines changed

css-align-3/Overview.bs

Lines changed: 80 additions & 23 deletions
Original file line numberDiff line numberDiff line change
@@ -771,7 +771,9 @@ Distributed Alignment: the ''<content-distribution>/stretch'', ''space-between''
771771

772772
These values are represented with the <<content-distribution>> grammar term:
773773

774-
<pre class='prod'><dfn>&lt;content-distribution></dfn> = space-between | space-around | space-evenly | stretch</pre>
774+
<pre class='prod'>
775+
<dfn>&lt;content-distribution></dfn> = space-between | space-around | space-evenly | stretch
776+
</pre>
775777

776778
<h3 id='overflow-values'>
777779
Overflow Alignment: the ''safe'' and ''unsafe'' keywords and scroll safety limits</h3>
@@ -865,31 +867,86 @@ Overflow Alignment: the ''safe'' and ''unsafe'' keywords and scroll safety limit
865867
<dt>(no value specified)
866868
<dd>
867869
If the <a>overflow alignment</a> isn't explicitly specified,
868-
the default <a>overflow alignment</a> is a blend of “safe” and “unsafe”
869-
in that an overflowing <a>alignment subject</a> is allowed to overflow its <a>alignment container</a>,
870-
but if this would cause it to also overflow
871-
the <a>scrollable overflow area</a> of its nearest ancestor <a>scroll container</a>
872-
(thus extending into the “unscrollable” region),
873-
then its overflow in that direction is limited
874-
by biasing any remaining overflow to the opposite side.
875-
876-
Issue: It may not be Web-compatible to implement the “smart” default behavior
877-
(though we hope so, and believe it to be likely),
878-
so UAs should pass any feedback on this point to the WG.
879-
UAs that have not implemented the “smart” default behavior
880-
must behave as ''safe'' for 'align-content' on [=block containers=]
881-
and ''unsafe'' otherwise.
870+
the default <a>overflow alignment</a> is a blend of “safe” and “unsafe”.
871+
See [[#auto-safety]] for details.
882872
</dl>
883873

884874

885-
<!--
886-
██████ ███████ ██ ██ ████████ ████████ ██ ██ ████████
887-
██ ██ ██ ██ ██ ██ ███ ██ ██ ██ ███ ██ ██
888-
██ ██ ██ ██ ██ ████ ██ ██ ██ ████ ██ ██
889-
█████████ ███████ ██ ██ ██ ██ ██ ██ ██ ██████ ██ ██ ██ ██
890-
██ ██ ██ ██ ██ ██ ████ ██ ██ ██ ████ ██
891-
██ ██ ██ ██ ██ ██ ██ ███ ██ ██ ██ ███ ██
892-
██████ ███████ ██ ██ ██ ████████ ██ ██ ██
875+
<h4 id=auto-safety>
876+
Automatic Overflow Alignment Safety</h4>
877+
878+
If no [=overflow alignment=] mode is specified for a property,
879+
the default behavior lies somewhere between ''safe'' and ''unsafe'',
880+
and also varies by layout mode.
881+
882+
<h5 id=auto-safety-scroll>
883+
Content Distribution for Scroll Containers</h5>
884+
885+
The default [=overflow alignment=] behavior
886+
for [=content distribution=] on [=scroll containers=] is ''unsafe''.
887+
Non-''normal'' values of the [=content distribution properties=] instead
888+
alter the [=scrollable overflow area=] in order to allow access to the overflowing content.
889+
See [[#overflow-scroll-position]].
890+
891+
<h5 id=auto-safety-position>
892+
Self-Alignment for Absolutely Positioned Boxes</h5>
893+
894+
For [=absolutely positioned=] [=alignment subjects=] whose
895+
896+
* relevant [=self-alignment property=] is not ''justify-self/normal'' and
897+
* whose 'inset-area' property successfully defines an [=inset-area grid=]
898+
899+
the default [=overflow alignment=] behavior is as follows:
900+
901+
1. If the [=alignment subject=] overflows its [=inset-modified containing block=]
902+
(its normal [=alignment container=]),
903+
but does not overflow its [=original containing block=]
904+
align as specified (''unsafe'').
905+
2. If the <em>size</em> of the [=alignment subject=]
906+
fits within its [=original containing block=],
907+
but its specified alignment would cause it to overflow the [=original containing block=],
908+
it is instead shifted the minimum amount
909+
to stay within the [=original containing block=]
910+
while honoring the alignment as much as possible
911+
(i.e., flush with the edge of the [=original containing block=]
912+
it was trying to overflow over).
913+
3. If the size of the [=alignment subject=]
914+
overflows the [=original containing block=],
915+
it is instead start-aligned within the [=original containing block=]
916+
(similar to ''safe'').
917+
918+
(For [=absolutely-positioned=] [=alignment subjects=] that fail the above conditions,
919+
see [[#auto-safety-defaults]].)
920+
921+
<h5 id=auto-safety-default>
922+
All Other Alignment</h5>
923+
924+
For all other elements:
925+
926+
1. If the [=alignment subject=] overflows its [=alignment container=],
927+
align as specified (''unsafe'').
928+
2. If the [=alignment subject=] would overflow
929+
the [=scrollable overflow area=] of its nearest ancestor [=scroll container=],
930+
(thus extending into the “unscrollable” region),
931+
then its overflow in that direction is limited
932+
by biasing any remaining overflow to the opposite side.
933+
934+
Issue: It may not be Web-compatible to implement the “smart” default behavior
935+
(though we hope so, and believe it to be likely),
936+
so UAs should pass any feedback on this point to the WG.
937+
UAs that have not implemented the “smart” default behavior
938+
must behave as ''safe'' for 'align-content' on [=block containers=]
939+
and ''unsafe'' otherwise.
940+
941+
<!-- Big Text: *-content
942+
943+
███▌ ███▌ █ █▌ █████▌ █████▌ █ █▌ █████▌
944+
█ █ █▌ █▌ █▌ █▌ █▌ █▌ █▌ █▌ █▌ █▌ █▌
945+
█ █ █▌ █▌ █▌ ██▌ █▌ █▌ █▌ ██▌ █▌ █▌
946+
███████ ████▌ █▌ █▌ █▌ █▌▐█ █▌ █▌ ████ █▌▐█ █▌ █▌
947+
█ █ █▌ █▌ █▌ █▌ ██▌ █▌ █▌ █▌ ██▌ █▌
948+
█ █ █▌ █▌ █▌ █▌ █▌ █▌ █▌ █▌ █▌ █▌ █▌
949+
███▌ ███▌ █▌ ▐▌ █▌ █████▌ █▌ ▐▌ █▌
893950
-->
894951

895952
<h2 id='content-distribution'>

0 commit comments

Comments
 (0)