Source code

Revision control

Copy as Markdown

Other Tools

<!DOCTYPE HTML>
<!--
Any copyright is dedicated to the Public Domain.
-->
<html><head>
<meta charset="utf-8">
<title>Reference: Fragmentation of height:auto grid, not top-of-page, item break-inside:avoid</title>
<link rel="author" title="Mats Palmgren" href="https://bugzilla.mozilla.org/show_bug.cgi?id=1144096">
<style type="text/css">
html,body {
color:black; background-color:white; font-size:16px; padding:0; margin:0;
}
body { overflow:hidden; }
.columns {
position:relative;
-ms-columns: 5;
-webkit-columns: 5;
columns: 5;
-ms-column-fill: auto;
-webkit-column-fill: auto;
column-fill: auto;
border: 2px solid salmon;
margin-bottom: 5px;
}
.grid {
display: grid;
grid-template-columns: 30px 30px 30px;
grid-auto-rows: 30px;
grid-gap: 12px;
border:5px solid;
align-content: space-evenly;
}
span { background:lime; border:1px solid black; }
x { display:block; height:20px; }
i { display:block; height:10px; margin-top:7px; background:blue; }
.t { border-bottom-width:0; }
.b { border-top-width:0; }
.br1 { height:94px; border-width:5px; border-top-style:solid; }
</style>
</head>
<body>
<div class="columns" style="height: 110px/*trigger IsInlineBreakBefore() for the item*/">
<div style="padding-top:30px; background:grey">
<div class="grid">
<span><i></i><i></i><i></i><i></i><i></i><i></i><x></x></span>
</div>
</div></div>
<div class="columns" style="height: 70px/*item will be INCOMPLETE*/">
<div style="background:grey">
<div class="grid">
<span><i></i><i></i><i></i><i></i><i></i><i></i><x></x></span>
</div>
</div></div>
<div class="columns" style="height: 100px/*item will be INCOMPLETE*/">
<div style="background:grey">
<div class="grid">
<span style="grid-row:span 2"><i></i><i></i><i></i><i></i><i></i><i></i><x></x></span>
</div>
</div></div>
<div class="columns" style="height: 140px/*trigger IsInlineBreakBefore() for the item*/">
<div style="padding-top:30px; background:grey">
<div class="grid">
<span style="grid-row:span 3"><x></x></span>
<span style="grid-row:span 2"><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><i></i><x></x></span></div>
</div></div>
-->
<div class="columns" style="height: 100px/*trigger IsInlineBreakBefore() for the item*/">
<div style="padding-top:1px; background:grey">
<div class="grid t" style="grid-auto-rows: 50px; height:50px;">
<span class="t" style="grid-row:span 2; height:49px; overflow:hidden"><i></i><i></i><i></i><x></x></span>
</div>
<div style="height:44px"></div>
<div class="grid b" style="grid-auto-rows: 50px; height:50px;">
<span class="b" style="grid-row:span 2; height:11px; overflow:hidden"><i style="margin-top:0;height:2px"></i><x></x></span>
</div>
</div></div>
<div class="columns" style="height: 100px/*trigger IsInlineBreakBefore() for the item*/">
<div style="padding-top:1px; background:grey">
<div class="br1"></div>
<div class="grid b" style="grid-auto-rows: 50px; height:116px;">
<span style="grid-row:span 2; height:60px"><i></i><i></i><i></i><x></x></span>
</div>
</div></div>
<div class="columns" style="height: 100px/*trigger IsInlineBreakBefore() for the item*/">
<div style="padding-top:1px; background:grey">
<div class="br1"></div>
<div class="grid b" style="grid-auto-rows: 50px; height:116px; grid-gap:0;">
<span style="grid-row:span 2; height:60px"><i></i><i></i><i></i><x></x></span>
</div>
</div></div>
<div class="columns" style="height: 100px/*trigger IsInlineBreakBefore() for the item*/">
<div style="padding-top:1px; background:grey">
<div class="br1"></div>
<div class="grid b" style="grid-auto-rows: 50px; height:116px; grid-gap:0;">
<span style="height:100px; background:pink"><x></x></span>
<span style="grid-row:span 2; height:60px"><i></i><i></i><i></i><x></x></span>
</div>
</div></div>
</body>
</html>