blob: 73abd19c3154a920ea8235d0c88025553ab69efe (
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
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
|
<!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 'direction' as left-to-right, 'auto' specified for 'margin-left', 'margin-right', 'right' and '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-024-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 inline replaced element becomes a used value of '0'." />
<style type="text/css">
#div1
{
border: solid black;
direction: ltr;
height: 288px;
position: absolute;
width: auto;
}
/*
The svg's containing block is div#div1 which
has width: auto. Therefore, shrink-to-fit width
will apply to div#div1.
Its non-positioned content is its
inner div which requires a
minimum of 288px. Therefore,
div#div1 shrink-to-fit width
will compute to 288px.
*/
svg
{
height: 100px;
margin-left: auto;
margin-right: auto;
left: 88px;
position: absolute;
right: auto;
}
/*
88px : left
+
0px (set) : margin-left
+
300px : width (pre-defined fallback when intrinsic values are not defined)
+
0px (set) : margin-right
+
(solve) : right
=========================
388px : width of containing block (div#div1 width is 288px)
Therefore, used right offset must be -100px so that the
constraining equation gets balanced.
*/
div div
{
background: orange;
height: 100px;
margin-left: 88px;
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-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>
|