<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1 plus MathML 2.0 plus SVG 1.1//EN" "http://www.w3.org/2002/04/xhtml-math-svg/xhtml-math-svg.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
    <head>
        <title>CSS Test: Absolutely positioned replaced element with 'direction' as right-to-left, 'auto' specified for 'margin-left', 'margin-right', 'right' and intrinsic height</title>
        <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-width" />
        <link rel="match" href="absolute-replaced-width-023-ref.xht" />

        <meta name="flags" content="nonHTML svg" />
        <meta name="assert" content="Computed value of 'auto' for 'margin-left' or margin-right' on absolutely positioned replaced element becomes a used value of '0'." />
        <style type="text/css">
            #div1
            {
                border: solid black;
                direction: rtl;
                height: 296px;
                position: absolute;
                width: auto;
            }

			/*
			The svg's containing block (which is div#div1)
			has width: auto in which case shrink-to-fit width
			applies which is given by its non-positioned
			content, which is its inner div.
			*/

            svg
            {
                margin-left: auto;
                margin-right: auto;
                left: 1in;
                position: absolute;
                right: auto;
            }
            div div
            {
                background: orange;
                height: 50px;
                margin-left: 1in;
                margin-top: 50px;
                width: 200px;
            }
        </style>
    </head>
    <body>
        <p>Test passes if the blue and orange rectangles have the same width and the blue rectangle is in the upper-right corner of an hollow black square.</p>
        <div id="div1">
            <svg:svg version="1.1" xmlns:svg="http://www.w3.org/2000/svg" height="50" baseProfile="full">
                <svg:rect x="0" y="0" width="200" height="100" fill="blue" />
            </svg:svg>
            <div></div>
        </div>
    </body>
</html>
