mirror of
https://github.com/servo/servo.git
synced 2025-10-16 16:29:18 +01:00
80 lines
1.8 KiB
HTML
80 lines
1.8 KiB
HTML
<!DOCTYPE HTML>
|
|
<!--
|
|
Any copyright is dedicated to the Public Domain.
|
|
http://creativecommons.org/publicdomain/zero/1.0/
|
|
-->
|
|
<html><head>
|
|
<meta charset="utf-8">
|
|
<title>CSS Grid Test: Masonry layout fragmentation</title>
|
|
<link rel="author" title="Mats Palmgren" href="mailto:mats@mozilla.com">
|
|
<link rel="help" href="https://drafts.csswg.org/css-grid-2">
|
|
<link rel="match" href="masonry-fragmentation-002-ref.html">
|
|
<style>
|
|
html,body {
|
|
color:black; background-color:white; font:10px/1 monospace; padding:0; margin:0;
|
|
}
|
|
wrapper {
|
|
display: block;
|
|
width: 600px;
|
|
height: 600px;
|
|
overflow: hidden;
|
|
}
|
|
.columns {
|
|
width: 330px;
|
|
columns: 6;
|
|
column-fill: auto;
|
|
column-gap: 1px;
|
|
background-color: rgba(80,80,80,.2);
|
|
margin-bottom: 10px;
|
|
}
|
|
.columns:nth-child(2n) {
|
|
background-color: rgba(10,100,10,.5);
|
|
}
|
|
.grid {
|
|
display: grid;
|
|
grid-template-columns: 10px 15px 20px;
|
|
grid-template-rows: masonry;
|
|
border: 1px solid;
|
|
gap: 2px;
|
|
}
|
|
x {
|
|
background: cyan;
|
|
height: 5px;
|
|
break-inside: avoid;
|
|
}
|
|
x:nth-child(4n) {
|
|
grid-column: span 2;
|
|
background: blue;
|
|
height: 10px;
|
|
break-inside: auto;
|
|
}
|
|
x:nth-child(5n) {
|
|
background: pink;
|
|
height: 12px;
|
|
break-inside: avoid;
|
|
}
|
|
</style></head>
|
|
<body>
|
|
<wrapper style="display:none">
|
|
<div style="display:none">
|
|
<div class="columns">
|
|
<div class="grid">
|
|
<x></x><x></x><x></x><x></x><x></x><x></x><x></x><x></x><x></x><x></x><x></x><x></x>
|
|
<x></x><x></x><x></x><x></x><x></x><x></x><x></x><x></x><x></x><x></x><x></x><x></x>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<script>
|
|
let wrapper = document.querySelectorAll("wrapper")[0];
|
|
let tmplt = document.querySelectorAll(".columns")[0];
|
|
let heights = [ 48, 18 ];
|
|
for (let h of heights) {
|
|
let e = tmplt.cloneNode(true);
|
|
e.style.height = h + "px";
|
|
wrapper.appendChild(e);
|
|
}
|
|
wrapper.style.display="";
|
|
</script>
|
|
</wrapper>
|
|
</body>
|
|
</html>
|