зеркало из https://github.com/mozilla/gecko-dev.git
113 строки
3.3 KiB
HTML
113 строки
3.3 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 single-line row 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-single-row-1-ref.html">
|
|
<meta name="assert" content="This test verifies fragmentation of fixed height flex items in a height:auto single-line row flex container, with various combinations of margin/border/padding, alignments, and column-gap. Also use a script to shrink multicol height.">
|
|
|
|
<style>
|
|
.multicol {
|
|
height: 80px;
|
|
width: 320px;
|
|
column-count: 3;
|
|
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: nowrap;
|
|
flex-direction: row;
|
|
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;
|
|
}
|
|
|
|
/* Note: flex items are in visual order as "CMYK": cyan, magenta, yellow, black. */
|
|
header, nav, article, footer {
|
|
flex-grow: 1;
|
|
}
|
|
header {
|
|
background: cyan;
|
|
height: 100px;
|
|
}
|
|
nav {
|
|
background: magenta;
|
|
height: 25px;
|
|
align-self: flex-start;
|
|
}
|
|
article {
|
|
background: yellow;
|
|
height: 50px;
|
|
align-self: center;
|
|
}
|
|
footer {
|
|
background: black;
|
|
height: 75px;
|
|
align-self: flex-end;
|
|
}
|
|
|
|
body.multicol-children-height > .multicol {
|
|
height: 50px;
|
|
}
|
|
</style>
|
|
|
|
<script>
|
|
function runTest() {
|
|
document.body.offsetHeight;
|
|
|
|
/* Shrink 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 column-gap. -->
|
|
<div class="multicol">
|
|
<div class="flexContainer border-padding" style="column-gap: 4px">
|
|
<header></header><nav></nav><article></article><footer></footer>
|
|
</div>
|
|
</div>
|
|
</body>
|
|
</html>
|