mirror of
https://github.com/servo/servo.git
synced 2025-06-23 08:34:42 +01:00
257 lines
No EOL
12 KiB
HTML
257 lines
No EOL
12 KiB
HTML
|
|
|
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
|
|
<html xmlns="http://www.w3.org/1999/xhtml">
|
|
<head>
|
|
<title>The perspective Property - CSS Transforms Module Level 1 CR Test Suite</title>
|
|
<style type="text/css">
|
|
@import "http://www.w3.org/StyleSheets/TR/base.css";
|
|
@import "../indices.css";
|
|
</style>
|
|
</head>
|
|
|
|
<body>
|
|
|
|
<h1>CSS Transforms Module Level 1 CR Test Suite</h1>
|
|
<h2>The perspective Property (19 tests)</h2>
|
|
<table width="100%">
|
|
<col id="test-column"></col>
|
|
<col id="refs-column"></col>
|
|
<col id="flags-column"></col>
|
|
<col id="info-column"></col>
|
|
<thead>
|
|
<tr>
|
|
<th>Test</th>
|
|
<th><abbr title="Rendering References">Refs</abbr></th>
|
|
<th>Flags</th>
|
|
<th>Info</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody id="s10">
|
|
<tr><th colspan="4" scope="rowgroup">
|
|
<a href="#s10">+</a>
|
|
<a href="https://www.w3.org/TR/css-transforms-1/#perspective-property">10 The perspective Property</a></th></tr>
|
|
<!-- 18 tests -->
|
|
<tr id="perspective-containing-block-dynamic-1a-10" class="primary dom">
|
|
<td><strong>
|
|
<a href="perspective-containing-block-dynamic-1a.xht">perspective-containing-block-dynamic-1a</a></strong></td>
|
|
<td><a href="reference/containing-block-dynamic-1-ref.xht">=</a> </td>
|
|
<td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr></td>
|
|
<td>CSS transforms: Creating containing block for fixed positioned elements
|
|
<ul class="assert">
|
|
<li>It also establishes a containing block (somewhat similar to position: relative), just like the transform property does.</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr id="perspective-containing-block-dynamic-1b-10" class="primary dom">
|
|
<td><strong>
|
|
<a href="perspective-containing-block-dynamic-1b.xht">perspective-containing-block-dynamic-1b</a></strong></td>
|
|
<td><a href="reference/containing-block-dynamic-1-ref.xht">=</a> </td>
|
|
<td><abbr class="dom" title="Requires Document Object Model support">DOM/JS</abbr></td>
|
|
<td>CSS transforms: Creating containing block for fixed positioned elements
|
|
<ul class="assert">
|
|
<li>It also establishes a containing block (somewhat similar to position: relative), just like the transform property does.</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr id="perspective-origin-x-10" class="">
|
|
<td>
|
|
<a href="perspective-origin-x.xht">perspective-origin-x</a></td>
|
|
<td><a href="reference/perspective-origin-reftest.xht">=</a> </td>
|
|
<td></td>
|
|
<td>perspective property
|
|
<ul class="assert">
|
|
<li>Asserts that origin 'x1' visually moves the objects '-x1*d/(d-1)'</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr id="perspective-translatez-0-10" class="">
|
|
<td>
|
|
<a href="perspective-translateZ-0.xht">perspective-translatez-0</a></td>
|
|
<td><a href="reference/perspective-reftest.xht">=</a> </td>
|
|
<td></td>
|
|
<td>perspective property
|
|
<ul class="assert">
|
|
<li>Asserts that points on the z=0 plane are unchanged</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr id="perspective-translatez-negative-10" class="">
|
|
<td>
|
|
<a href="perspective-translateZ-negative.xht">perspective-translatez-negative</a></td>
|
|
<td><a href="reference/perspective-reftest.xht">=</a> </td>
|
|
<td></td>
|
|
<td>perspective property
|
|
<ul class="assert">
|
|
<li>Asserts that the scaling is proportional to d/(d - Z) for a negative Z</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr id="perspective-translatez-positive-10" class="">
|
|
<td>
|
|
<a href="perspective-translateZ-positive.xht">perspective-translatez-positive</a></td>
|
|
<td><a href="reference/perspective-reftest.xht">=</a> </td>
|
|
<td></td>
|
|
<td>perspective property
|
|
<ul class="assert">
|
|
<li>Asserts that the scaling is proportional to d/(d - Z) for a positive Z</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr id="regions-transforms-005-10" class="ahem">
|
|
<td>
|
|
<a href="regions-transforms-005.xht">regions-transforms-005</a></td>
|
|
<td><a href="reference/regions-transforms-001-ref.xht">=</a> </td>
|
|
<td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
|
|
<td>CSS Regions: perspective set on the named flow content's parent does not apply when content flows into region
|
|
<ul class="assert">
|
|
<li>Test checks that content that has a 3D transform does not respect the perspective set on its parent when flowed into a region.</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr id="regions-transforms-019-10" class="ahem">
|
|
<td>
|
|
<a href="regions-transforms-019.xht">regions-transforms-019</a></td>
|
|
<td><a href="reference/regions-transforms-019-ref.xht">=</a> </td>
|
|
<td><abbr class="ahem" title="Requires Ahem font">Ahem</abbr></td>
|
|
<td>CSS Regions: 3D transform on named flow (text) content with perspective property set on region
|
|
<ul class="assert">
|
|
<li>Test checks that the 3D transform is applied named content flow, that the perspective set on the region is applied, and that the content is not clipped when the perspective is shifted</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr id="transform3d-perspective-001-10" class="">
|
|
<td>
|
|
<a href="transform3d-perspective-001.xht">transform3d-perspective-001</a></td>
|
|
<td><a href="reference/transform3d-perspective-001-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">≠</a> </td>
|
|
<td></td>
|
|
<td>perspective()
|
|
<ul class="assert">
|
|
<li>This tests that the perspective() transform works the same as an equivalent 'perspective' property.</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr id="transform3d-perspective-002-10" class="">
|
|
<td>
|
|
<a href="transform3d-perspective-002.xht">transform3d-perspective-002</a></td>
|
|
<td><a href="reference/transform3d-perspective-001-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">≠</a> </td>
|
|
<td></td>
|
|
<td>Inherited Perspective
|
|
<ul class="assert">
|
|
<li>This tests that 'perspective: inherit' works the same as specifying that perspective to start with.</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr id="transform3d-perspective-003-10" class="">
|
|
<td>
|
|
<a href="transform3d-perspective-003.xht">transform3d-perspective-003</a></td>
|
|
<td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
|
|
<td></td>
|
|
<td>Perspective on Grandparent
|
|
<ul class="assert">
|
|
<li>This tests that 'perspective' affects only the element's children, not its grandchildren.</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr id="transform3d-perspective-004-10" class="">
|
|
<td>
|
|
<a href="transform3d-perspective-004.xht">transform3d-perspective-004</a></td>
|
|
<td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
|
|
<td></td>
|
|
<td>'perspective: 1000px' on Grandparent and 'perspective: none' on Parent
|
|
<ul class="assert">
|
|
<li>This tests that 'perspective: none' actually results in no perspective being applied to children, even if the grandparent has perspective.</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr id="transform3d-perspective-005-10" class="">
|
|
<td>
|
|
<a href="transform3d-perspective-005.xht">transform3d-perspective-005</a></td>
|
|
<td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
|
|
<td></td>
|
|
<td>'perspective: 1000px' on Grandparent and 'perspective: 0px' on Parent
|
|
<ul class="assert">
|
|
<li>This tests that 'perspective: 0px' behaves the same as no perspective being specified at all (it's a parse error).</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr id="transform3d-perspective-006-10" class="">
|
|
<td>
|
|
<a href="transform3d-perspective-006.xht">transform3d-perspective-006</a></td>
|
|
<td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
|
|
<td></td>
|
|
<td>Simple Perspective
|
|
<ul class="assert">
|
|
<li>This tests the 'perspective' property in a very simple case, such that the reference can be constructed without using CSS transforms.</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr id="transform3d-perspective-007-10" class="">
|
|
<td>
|
|
<a href="transform3d-perspective-007.xht">transform3d-perspective-007</a></td>
|
|
<td><a href="reference/transform3d-perspective-001-ref.xht">=</a> <a href="reference/transform-lime-square-ref.xht">≠</a> </td>
|
|
<td></td>
|
|
<td>Perspective on Table Parent
|
|
<ul class="assert">
|
|
<li>This tests that tables are correctly affected by perspective on their parent. It's motivated by a real-world implementation bug: <https://bugzilla.mozilla.org/show_bug.cgi?id=726601>.</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr id="transform3d-perspective-008-10" class="">
|
|
<td>
|
|
<a href="transform3d-perspective-008.xht">transform3d-perspective-008</a></td>
|
|
<td><a href="reference/transform-lime-square-ref.xht">=</a> </td>
|
|
<td></td>
|
|
<td>Perspective on Table
|
|
<ul class="assert">
|
|
<li>This tests that perspective on a table only affects its children, not the table itself. It's motivated by a real-world implementation bug: <https://bugzilla.mozilla.org/show_bug.cgi?id=726601>.</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr id="transform3d-rotatex-perspective-002-10" class="">
|
|
<td>
|
|
<a href="transform3d-rotatex-perspective-002.xht">transform3d-rotatex-perspective-002</a></td>
|
|
<td><a href="reference/transform-lime-square-ref.xht">≠</a> <a href="reference/transform3d-rotatex-ref.xht">≠</a> </td>
|
|
<td></td>
|
|
<td>rotatex() and 'perspective'
|
|
<ul class="assert">
|
|
<li>This tests that 'perspective' has some effect when combined with rotatex() (i.e., is not equivalent to simply omitting the perspective).</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
<tr id="transform3d-rotatex-perspective-003-10" class="">
|
|
<td>
|
|
<a href="transform3d-rotatex-perspective-003.xht">transform3d-rotatex-perspective-003</a></td>
|
|
<td><a href="reference/transform3d-rotatex-perspective-ref.xht">=</a> <a href="reference/transform3d-rotatex-perspective-notref.xht">≠</a> </td>
|
|
<td></td>
|
|
<td>'perspective' and 'opacity'
|
|
<ul class="assert">
|
|
<li>This tests for a real-world implementation bug: see <https://bugzilla.mozilla.org/show_bug.cgi?id=707563>. The only difference between the test and reference is 'opacity: 0.9999', which should not affect anything in the test.</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
<tbody id="s10.#issue-8678c096">
|
|
<!-- 0 tests -->
|
|
</tbody>
|
|
<tbody id="s10.#none">
|
|
<!-- 0 tests -->
|
|
</tbody>
|
|
<tbody id="s10.#propdef-perspective">
|
|
<!-- 1 tests -->
|
|
<tr id="css3-transform-perspective-10.#propdef-perspective" class="">
|
|
<td>
|
|
<a href="css3-transform-perspective.xht">css3-transform-perspective</a></td>
|
|
<td><a href="reference/css3-transform-perspective-ref.xht">=</a> </td>
|
|
<td></td>
|
|
<td>rotateX 90 degrees with perspective make it invisible
|
|
<ul class="assert">
|
|
<li>Test passes if rotateX 90 degrees with perspective make it invisible</li>
|
|
</ul>
|
|
</td>
|
|
</tr>
|
|
</tbody>
|
|
</table>
|
|
|
|
</body>
|
|
</html> |