зеркало из https://github.com/mozilla/gecko-dev.git
121 строка
3.5 KiB
HTML
121 строка
3.5 KiB
HTML
<!DOCTYPE html>
|
|
<!-- Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/ -->
|
|
<html>
|
|
<meta charset="utf-8">
|
|
<title>CSS Flexbox Test: Fragmentation of height:auto multi-line row-reverse flex container with fixed height flex items</title>
|
|
<link rel="author" title="Ting-Yu Lin" href="mailto:tlin@mozilla.com">
|
|
<link rel="author" title="Mozilla" href="http://www.mozilla.org/">
|
|
<link rel="help" href="https://drafts.csswg.org/css-flexbox-1/#pagination">
|
|
<link rel="match" href="flexbox-multi-row-1-ref.html">
|
|
<meta name="assert" content="This test verifies fragmentation of fixed height flex items in a height:auto multi-line row flex container, with various combinations of margin/border/padding, alignments, and gap. Also use a script to shrink multicol height.">
|
|
|
|
<style>
|
|
.multicol {
|
|
height: 80px;
|
|
width: 200px;
|
|
column-width: 60px;
|
|
column-fill: auto;
|
|
column-gap: 10px;
|
|
border: 5px solid orange;
|
|
margin-bottom: 5px; /* Just to separate each sub-testcase visually. */
|
|
}
|
|
.flexContainer {
|
|
display: flex;
|
|
flex-wrap: wrap-reverse;
|
|
flex-direction: row-reverse;
|
|
background: gray;
|
|
/* border-width is 0 by default; some sub-testcases will increase it. */
|
|
border: 0 solid lightgray;
|
|
}
|
|
.border-padding {
|
|
border-width: 10px 0;
|
|
padding: 5px 0;
|
|
}
|
|
.with-gap {
|
|
row-gap: 20px;
|
|
column-gap: 10px;
|
|
}
|
|
|
|
header, nav, article, footer {
|
|
width: 30px;
|
|
}
|
|
.with-gap header, .with-gap nav, .with-gap article, .with-gap footer {
|
|
width: 25px;
|
|
}
|
|
|
|
/* Note: flex items are in visual order as "CMYK": cyan, magenta, yellow, black. */
|
|
footer {
|
|
background: cyan;
|
|
height: 50px;
|
|
}
|
|
article {
|
|
background: magenta;
|
|
height: 25px;
|
|
align-self: flex-end;
|
|
}
|
|
nav {
|
|
background: yellow;
|
|
height: 40px;
|
|
align-self: center;
|
|
}
|
|
header {
|
|
background: black;
|
|
height: 50px;
|
|
align-self: flex-start;
|
|
}
|
|
|
|
body.multicol-children-height > .multicol {
|
|
height: 50px;
|
|
}
|
|
</style>
|
|
|
|
<script>
|
|
function runTest() {
|
|
document.body.offsetHeight;
|
|
|
|
/* Enlarge the multicol's height to exercise pulling and pushing flex items
|
|
of an already fragmented flex container. */
|
|
document.body.classList.add("multicol-children-height");
|
|
}
|
|
</script>
|
|
|
|
<body onload="runTest()">
|
|
<!-- Basic one without any margin/border/padding. -->
|
|
<div class="multicol">
|
|
<div class="flexContainer">
|
|
<header></header><nav></nav><article></article><footer></footer>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Test a container with margin-top. -->
|
|
<div class="multicol">
|
|
<div class="flexContainer" style="margin-top: 25px">
|
|
<header></header><nav></nav><article></article><footer></footer>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Test a container not at the top of the column/page. -->
|
|
<div class="multicol">
|
|
<div style="height: 25px"></div>
|
|
<div class="flexContainer">
|
|
<header></header><nav></nav><article></article><footer></footer>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Test a container with border and padding. -->
|
|
<div class="multicol">
|
|
<div class="flexContainer border-padding">
|
|
<header></header><nav></nav><article></article><footer></footer>
|
|
</div>
|
|
</div>
|
|
|
|
<!-- Test a container with border, padding, and gap. -->
|
|
<div class="multicol">
|
|
<div class="flexContainer border-padding with-gap">
|
|
<header></header><nav></nav><article></article><footer></footer>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|