Obey min and max cross sizes of flex items (#33242)

When laying out the contents of a flex item, we used to resolve their
cross-axis percentages against the preferred cross size of the item.
Now we will take the min and max cross sizes into account.

Signed-off-by: Oriol Brufau <obrufau@igalia.com>
Co-authored-by: Martin Robinson <mrobinson@igalia.com>
This commit is contained in:
Oriol Brufau 2024-08-29 13:24:23 +02:00 committed by GitHub
parent 59c74c874a
commit 46dbe4ce32
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
3 changed files with 49 additions and 1 deletions

View file

@ -176387,6 +176387,19 @@
{}
]
],
"percentage-max-height-005.html": [
"3ca28b3ec1ecc6a204fb1177e1452ec4ce7a5c1c",
[
null,
[
[
"/css/reference/ref-filled-green-100px-square.xht",
"=="
]
],
{}
]
],
"percentage-padding-002.html": [
"9eaaff013ef26f557f5f883fea76b81b6031769f",
[

View file

@ -0,0 +1,30 @@
<!DOCTYPE html>
<title>CSS Flexbox Test: flex item with max cross size</title>
<link rel="author" title="Oriol Brufau" href="obrufau@igalia.com">
<link rel="help" href="https://drafts.csswg.org/css-flexbox-1/#algo-stretch">
<link rel="help" href="https://drafts.csswg.org/css-sizing-3/#max-size-properties">
<link rel="match" href="../reference/ref-filled-green-100px-square.xht">
<meta name="assert" content="The content of the flex item should resolve the percentage against 100px, not against 200px">
<style>
.flex {
display: flex;
}
.item {
height: 200px;
max-height: 100px;
align-self: flex-start;
background: red;
}
.content {
height: 100%;
width: 100px;
background: green;
}
</style>
<p>Test passes if there is a filled green square and <strong>no red</strong>.</p>
<div class="flex">
<div class="item">
<div class="content"></div>
</div>
</div>