<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
<html>
<!--     This tests that toggling an inline's position from relative to static updates the position of any child blocks. -->
    <head>
        <title>CSS Test: Block boxes within inline boxes are affected by positioning</title>
        <style type="text/css">
            #span1
            {
                background: yellow;
                height: 2in;
                display: inline;
                width: 2in;
                left: 2in;
                top: 2in;
            }
            #span2
            {
                background: blue;
                display: inline;
                position: relative;
                width: 2in;
                left: 2in;
                top: 2in;
            }
            #div3
            {
                background: orange;
                width: 2in;
            }
        </style>
        <script type="text/javascript">
            if (window.testRunner) {
                testRunner.waitUntilDone();
            }

            function run() {
                document.getElementById("span2").style.position = "static";
                document.body.offsetTop;
                if (window.testRunner)
                    testRunner.notifyDone();
           }
        </script>
    </head>
    <body onload="setTimeout('run()', 10);">
        <p>Test passes if the orange box sits atop the blue box and both are in the top left of the view.</p>
            <span id="span2">
                <i>
                <div id="div3">Filler Text</div>
                Filler Text
                </i>
            </span>
    </body>
</html>