| <!DOCTYPE HTML> |
| <style> |
| .box { |
| width: 100px; |
| height: 100px; |
| } |
| .parent { |
| transform-style: preserve-3d; |
| transform: rotateY(45deg) |
| } |
| .child { |
| transform: rotateY(45deg); |
| background: lightblue |
| } |
| </style> |
| |
| <p>Test that an element with mix-blend-mode other than normal forces the used value of transform-style to flat, but not the computed value..</p> |
| |
| <div class="parent box"> |
| <div id="transform-style-preserve-3d" class="box child"></div> |
| </div> |
| |
| <div class="parent box" style="transform-style: flat"> |
| <div id="transform-style-flat" class="box child"></div> |
| </div> |
| |
| <div class="parent box" style="overflow: hidden; transform-style: flat"> |
| <div id="overflow-hidden-with-transform-style-flat" class="box child"></div> |
| </div> |
| |
| <div class="parent box" style="overflow: hidden;"> |
| <div id="overflow-hidden-with-transform-style-preserve-3d" class="box child"></div> |
| </div> |
| |
| <script src="../resources/js-test.js"></script> |
| <script> |
| function parentNodeTransformStyle(id) { |
| return getComputedStyle(document.getElementById(id).parentNode).transformStyle; |
| } |
| |
| function getBoundingClientWidth(id) { |
| return document.getElementById(id).getBoundingClientRect().width; |
| } |
| |
| shouldBeEqualToString("parentNodeTransformStyle('transform-style-preserve-3d')", "preserve-3d"); |
| shouldBeEqualToString("parentNodeTransformStyle('transform-style-flat')", "flat"); |
| shouldBeEqualToString("parentNodeTransformStyle('overflow-hidden-with-transform-style-preserve-3d')", "preserve-3d"); |
| shouldBeEqualToString("parentNodeTransformStyle('overflow-hidden-with-transform-style-flat')", "flat"); |
| |
| shouldNotBe("getBoundingClientWidth('transform-style-preserve-3d')", "getBoundingClientWidth('transform-style-flat')"); |
| shouldBe("getBoundingClientWidth('overflow-hidden-with-transform-style-flat')", "getBoundingClientWidth('transform-style-flat')"); |
| shouldBe("getBoundingClientWidth('overflow-hidden-with-transform-style-preserve-3d')", "getBoundingClientWidth('transform-style-flat')"); |
| </script> |