servo/tests/wpt/css-tests/css-shapes-1_dev/html/shape-outside-003.htm

100 lines
No EOL
3.5 KiB
HTML

<!DOCTYPE html>
<html><head>
<title>CSS Test: Left and right float with shape-outside with clipped right float</title>
<link href="mailto:rhauck@adobe.com" rel="author" title="Rebecca Hauck">
<link href="http://www.w3.org/TR/css-shapes-1/#relation-to-box-model-and-float-behavior" rel="help">
<link href="http://www.w3.org/TR/css-shapes-1/#supported-basic-shapes" rel="help">
<link href="http://www.w3.org/TR/css-shapes-1/#shape-outside-property" rel="help">
<link href="reference/shape-outside-001-ref.htm" rel="match">
<meta content="ahem" name="flags">
<meta content="This test verifies that left floats with a shape-outside
only allow content wrapping on the right side, and right floats only allow wrapping on
the left and that the right float shape is clipped to the float's margin box" name="assert">
<!-- This test is derived from Example 2 in this version of the spec:
http://www.w3.org/TR/2013/WD-css-shapes-1-20131203/ -->
<style type="text/css">
body {
margin-left: 0;
}
.container {
width: 400px;
text-align: center;
font-family: Ahem;
font-size: 20px;
line-height: 1em;
}
#test {
color: green;
}
#test-float-left {
shape-outside: polygon(0 0, 200px 200px, 0 200px);
float: left;
width: 200px;
height: 200px;
}
#test-float-right {
shape-outside: polygon(200px 0, -800px 1000px, 200px 1000px);
float: right;
width: 200px;
height: 200px;
}
#failure-container {
color: red;
z-index: -1;
}
#test, #failure-container {
position: absolute;
top: 60px;
}
.line {
height: 20px;
}
#bottom {
position: absolute;
top: 200px;
}
#left-triangle, #right-triangle {
position: absolute;
top: 60px;
width: 200px;
height: 200px;
background-color: lightblue;
}
#left-triangle {
clip-path: polygon(0 0, 200px 200px, 0 200px);
}
#right-triangle {
left: 200px;
clip-path: polygon(200px 0, 200px 200px, 0 200px);
}
</style>
</head>
<body>
<p>
The test passes if the green shape does not intersect either of the triangles and
there is one green horizontal bar beneath the triangles. There should be no red.
</p>
<div class="container" id="test">
<div id="test-float-left"></div>
<div id="test-float-right"></div>
XXXXXXXXXXXXXXXXX XXXXXXXXXXXXXXX XXXXXXXXXXXXX
XXXXXXXXXXX XXXXXXXXX XXXXXXX XXXXX XXX X
XXXXXXXXXXXXXXXXX
</div>
<div id="failure-container">
<div class="line container">XXXXXXXXXXXXXXXXX</div>
<div class="line container">XXXXXXXXXXXXXXX</div>
<div class="line container">XXXXXXXXXXXXX</div>
<div class="line container">XXXXXXXXXXX</div>
<div class="line container">XXXXXXXXX</div>
<div class="line container">XXXXXXX</div>
<div class="line container">XXXXX</div>
<div class="line container">XXX</div>
<div class="line container">X</div>
<div id="bottom" class="line container">XXXXXXXXXXXXXXXXX</div>
</div>
<div id="left-triangle"></div>
<div id="right-triangle"></div>
</body></html>