Source code

Revision control

Copy as Markdown

Other Tools

Test Info:

<!DOCTYPE HTML>
<meta charset="utf-8">
<title>CSS Test (Transforms): Flattening at the leafward edges of a preserve-3d scene</title>
<link rel="author" title="L. David Baron" href="https://dbaron.org/">
<link rel="author" title="Google" href="http://www.google.com/">
<meta name="assert" content="Elements are drawn in the correct z-order.">
<link rel="match" href="preserve3d-and-flattening-002-ref.html">
<style>
body {
margin: 0;
}
div, span {
height: 100px;
width: 100px;
background: red;
}
span {
display: inline-block;
vertical-align: top;
}
div:not(:first-child):not(.outer) {
/* put everything at the same position without using absolute positioning */
margin-top: -100px;
}
.outer, .sibling {
transform-style: preserve-3d;
}
.outer {
background: gray;
}
.flattener {
/* adding position:relative or a transform changes things */
background: fuchsia;
}
.sibling {
background: blue;
transform: translate3d(25px, 50px, -20px);
}
.child {
background: silver;
transform: translate3d(50px, 0, 10px);
will-change: transform;
}
</style>
<div class="outer">
<div class="flattener">
<div class="child"></div>
</div>
<div class="sibling"></div>
</div>