blob: 963506e365f21444b614b6531b69fbc81bb778a0 [file] [log] [blame]
<!DOCTYPE html>
<html>
<head>
<script>
window.onload = function() {
// fetch offsetTop to force a layout
document.body.offsetTop;
var el = document.querySelector('#add-shape-outside .shape');
el.className = 'shape rectangle50';
el = document.querySelector('#change-shape-outside .shape');
el.className = 'shape rectangle25';
el = document.querySelector('#remove-shape-outside .shape');
el.className = 'shape';
}
</script>
<style>
.container {
width: 200px;
height: 200px;
overflow-wrap: break-word;
border: 2px solid blue;
font: 50px/1 Ahem, sans-serif;
color: green;
overflow: hidden;
}
.shape {
float: left;
position: relative;
width: 100px;
height: 100px;
}
.shape::before {
position: absolute;
display: block;
top: 0px; left: 0px;
width: 100%;
height: 100%;
background-color: blue;
content: ' ';
}
.rectangle50 {
shape-outside: polygon(0px 0px, 50px 0px, 50px 50px, 0px 50px);
}
.rectangle50::before {
width: 50px;
height: 50px;
}
.rectangle25 {
shape-outside: polygon(0px 0px, 25px 0px, 25px 25px, 0px 25px);
}
.rectangle25::before {
width: 25px;
height: 25px;
}
</style>
</head>
<body>
<p>When shape-outside is modified dynamically, content affected by the shape's contour should relayout. For each test, you should see green blocks separated by white space, wrapping around a blue square in the upper left. This test requires the Ahem font.</p>
<p>Setting shape-outside with no prior entry</p>
<div id='add-shape-outside' class='container'><div class='shape'></div>x x x x x x x x x x</div>
<p>Setting shape-outside with a prior entry</p>
<div id='change-shape-outside' class='container'><div class='shape rectangle50'></div>x x x x x x x x x x</div>
<p>Removing shape-outside with a prior entry</p>
<div id='remove-shape-outside' class='container'><div class='shape rectangle50'></div>x x x x x x x x x x</div>
</body>
</html>