summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/CSS2/positioning/absolute-replaced-width-003.xht
blob: 5e1d5a7dccd8736089e79f71f87add5b3412227a (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
<!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 inline replaced element with 'auto' specified for 'margin-left', 'margin-right', with no intrinsic width and no intrinsic ratio</title>
        <link rel="author" title="Microsoft" href="http://www.microsoft.com/" />
		<link rel="reviewer" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> <!-- 2012-09-07 -->
        <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#abs-replaced-width" />
        <link rel="match" href="absolute-replaced-width-003-ref.xht" />

        <meta name="flags" content="nonHTML svg" />
        <meta name="assert" content="If an absolutely positioned inline replaced element       (like the svg element in this test) has no intrinsic width and no intrinsic ratio, then the used value of 'width' becomes 300px. Then, if both left and right values are 'auto' and the 'direction' property of the element establishing the static-position containing block is 'ltr', then set 'left' to the static position. If 'left' or 'right' are 'auto' (like in this test), then replace any 'auto' on 'margin-left' or 'margin-right' with '0'. If at this point there is an 'auto' left (like in this test: right is 'auto'), solve the equation for that value." />
        <style type="text/css">
            #div1
            {
                border: solid black;
                height: 3in;
                width: 3in;
            }
            svg
            {
                height: 100px;
                margin-left: auto;
                margin-right: auto;
                position: absolute;
            }

			/*

			In this test, the svg's containing block is the initial containing block.

			The contraining equation should be balanced in the following manner:

			left: will take the static position within its ltr containing block
			margin-left: will become 0
			width: will become 300px
			margin-right: will become 0
			right: will be the width of viewport minus 300px minus computed left value (body's margin-left plus border-left width == 11px)

			*/

            div div
            {
                background: orange;
                height: 100px;
                margin-top: 100px;
                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-left 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>