blob: 14d620b20495f07889f1564a623bfd671e60763e (
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
|
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>CSS Test: Margin with a value of 'auto'</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-08-13 -->
<link rel="help" href="http://www.w3.org/TR/CSS21/box.html#propdef-margin" />
<link rel="help" href="http://www.w3.org/TR/CSS21/box.html#margin-properties" />
<link rel="match" href="margin-005-ref.xht" />
<meta name="assert" content="The 'margin' property with a value of 'auto' correctly sizes the margin. In normal flow, 'margin-top: auto' and 'margin-bottom: auto' for block-level, non-replaced elements are resolved as 0. In normal flow, 'margin-left: auto' and 'margin-right: auto' for block-level, non-replaced elements are resolved according to the constraint equation for the width of containing block: 'margin-left' + 'border-left-width' + 'padding-left' + 'width' + 'padding-right' + 'border-right-width' + 'margin-right' = width of containing block" />
<style type="text/css">
#wrapper
{
position: relative;
}
#div1, #div2
{
border: 10px solid green;
}
#div1, #reference
{
left: 0;
position: absolute;
top: 0;
}
/*
In this test, #div1, which is absolutely positioned, is
#div2's containing block. In which case, the width of #div1 is
shrink-to-fit to the width of #div2 plus its borders.
http://www.w3.org/TR/CSS21/visudet.html#abs-non-replaced-width
*/
#div2
{
height: 1in;
margin: auto;
width: 3in;
}
#reference
{
border: 20px solid red;
height: 96px;
width: 288px;
}
</style>
</head>
<body>
<p>Test passes if there is <strong>no red</strong>.</p>
<div id="wrapper">
<div id="reference"></div>
<div id="div1">
<div id="div2"></div>
</div>
</div>
</body>
</html>
|