<html>
<head>
    <link rel="stylesheet" href="resources/default.css">
	<script>
        if (window.testRunner)
            testRunner.waitUntilDone();
        function runTest()
        {
            document.getElementById('container').style.position = 'relative';
            if (window.testRunner)
                testRunner.notifyDone();
        }
    </script>
</head>
<body style="height:2000px;" onload="setTimeout(runTest, 0);">
    <!-- You should see 2 rectangles touching on one corner in the output: a green one (top left) and a green one. -->
    <div id="container" style="top: 200px;" class="fixed blue"><div style="top:100px; left:100px;" class="absolute green"></div></div>
</body>
</html>
