summaryrefslogtreecommitdiffstats
path: root/testing/web-platform/tests/css/CSS2/positioning/absolute-replaced-width-009.xht
blob: c7749f8769d67ed499a0c3f348513b4dd04d4db6 (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
60
61
62
<!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: Absolute replaced elements with 'direction' as left-to-right, 'auto' specified for 'margin-left', 'margin-right', 'left', 'right' and intrinsic height</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-002-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;
                direction: ltr;
                height: 3in;
                position: relative;
                width: 3in;
            }
            svg
            {
                margin-left: auto;
                margin-right: auto;
                left: auto;
                position: absolute;
                right: auto;
            }

			/*

			In this test, the svg's containing block is div#div1.

			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 div#div1 minus 300px (288px minus 300px == -12px)

			*/

            div div
            {
                background: orange;
                height: 50px;
                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-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>