fune/testing/web-platform/tests/css/css-flexbox/flexbox-baseline-multi-line-vert-002.html
Ian Kilpatrick e2b9cbccfe Bug 1793064 [wpt PR 36146] - [last-baseline] Propagate last baslines from flexbox., a=testonly
Automatic update from web-platform-tests
[last-baseline] Propagate last baslines from flexbox.

This modifies flex's baseline accumulator to support three(!) potential
baselines for the first & last baseline.

Firstly we prefer the major/minor baseline for the first/last baseline
of the first/last line.

Then we prefer the minor/major baseline for the first/last baseline of
the first/last line.

Finally fallback baseline is the first/last item in the first/last line.

Bug: 885175
Change-Id: I8113c48e3f6861895f89585f39fd9268e5d70f65
Reviewed-on: https://chromium-review.googlesource.com/c/chromium/src/+/3914072
Commit-Queue: Ian Kilpatrick <ikilpatrick@chromium.org>
Reviewed-by: David Grogan <dgrogan@chromium.org>
Cr-Commit-Position: refs/heads/main@{#1053037}

--

wpt-commits: 1d9f9d7a867d22623a00574a4767a718eb9a77a9
wpt-pr: 36146
2022-10-12 11:09:05 +00:00

78 lines
2.3 KiB
HTML

<!DOCTYPE html>
<!--
Any copyright is dedicated to the Public Domain.
http://creativecommons.org/publicdomain/zero/1.0/
-->
<!-- Testcase for how we compute the baseline of a vertical flex container
with several flex lines (wrapping in the reverse direction).
The spec says this about this case:
[Given that the first line has no baseline-aligned items:]
...if the flex container has at least one flex item, and its
first flex item has a baseline parallel to the flex
container's main axis, the flex container's main-axis
baseline is that baseline.
-->
<html>
<head>
<title>CSS Test: Testing the baseline of a vertical flex container with multiple flex lines</title>
<link rel="author" title="Daniel Holbert" href="mailto:dholbert@mozilla.com">
<link rel="help" href="http://www.w3.org/TR/css-flexbox-1/#flex-baselines">
<link rel="match" href="flexbox-baseline-multi-line-vert-002-ref.html">
<meta charset="utf-8">
<style>
.flexContainer {
display: inline-flex;
flex-direction: column;
flex-wrap: wrap-reverse;
width: 40px;
height: 40px;
background: lightblue;
}
.flexContainer > * {
width: 20px;
height: 20px;
}
/* We'll make the second flex line not paint anything, so that the
reference case doesn't need to bother matching it. */
.flexContainer > *:nth-child(1),
.flexContainer > *:nth-child(2) {
visibility: hidden;
}
.smallFont {
font-size: 8px;
line-height: 8px;
}
.medFont {
font-size: 12px;
line-height: 12px;
}
.bigFont {
font-size: 16px;
line-height: 16px;
}
</style>
</head>
<body>
a
<!-- Flex containers with flex items that have a mix of baselines: -->
<div class="flexContainer">
<div class="medFont">b</div
><div class="bigFont">c</div
><div class="bigFont">d</div
><div class="medFont">e</div>
</div>
<!-- Flex container with second line baseline-aligned
(shouldn't make a difference) -->
<div class="flexContainer">
<div class="smallFont">j</div
><div class="bigFont">k</div
><div class="bigFont" style="align-self: baseline">l</div
><div class="medFont" style="align-self: baseline">m</div>
</div>
n
</body>
</html>