dynamic-top-change-001

Inheriting 'top' changes from relpos grandparent

WeasyPrint

This browser

Flags
dom
Assertion
The position of a positioned element which inherits its 'top' value from its relatively positioned grandparent changes when the grandparent's 'top' value is changed.

Source

 1 <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
 2 <html>
 3  <head>
 4   <title>CSS Test: Inheriting 'top' changes from relpos grandparent</title>
 5   <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu">
 6   <link rel="reviewer" title="Elika J. Etemad" href="http://fantasai.inkedblade.net/contact">
 7   <link rel="help" href="http://www.w3.org/TR/CSS21/cascade.html#value-def-inherit">
 8   <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#position-props">
 9   <link rel="help" href="http://www.w3.org/TR/CSS21/visuren.html#propdef-position">
10   <meta name="flags" content="dom">
11   <meta name="assert" content="The position of a positioned element which inherits its 'top' value from its relatively positioned grandparent changes when the grandparent's 'top' value is changed.">
12   <style type="text/css">
13     .testDiv { position: absolute; width: 100px; height: 100px; }
14     #green { top: 4em; background: green; }
15     #red { top: inherit; background: red; }
16     #parent { top: inherit; position: relative; }
17     #grandparent { position: relative; }
18   </style>
19   <script type="text/javascript">
20     window.onload = function() {
21       document.body.offsetWidth;
22       document.getElementById("grandparent").style.top = "2em";
23     }
24   </script>
25  </head>
26  <body>
27    <p>There should be no red.</p>
28    <div id="grandparent">
29      <div id="parent">
30        <div id="red" class="testDiv"></div>
31      </div>
32      <div id="green" class="testDiv"></div>
33    </div>
34  </body>
35 </html>