margin-backgrounds-002.xht (2246B)
1 <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> 2 3 <html xmlns="http://www.w3.org/1999/xhtml"> 4 5 <head> 6 7 <title>CSS Test: transparency of margin area and background-color</title> 8 9 <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> 10 <link rel="help" href="http://www.w3.org/TR/CSS21/box.html#mpb-examples" title="8.2 Example of margins, padding, and borders" /> 11 <link rel="help" href="http://www.w3.org/TR/CSS21/colors.html#background" title="14.2 The background" /> 12 <link rel="match" href="../reference/ref-filled-green-100px-square.xht" /> 13 14 <meta content="The margin area of an element is always transparent. The background-color of an element never paints its own margin area. The background-color of an element only paints its own border area (if any), its own padding area (if any) and its own content area (if any). Therefore the background-color of the content area (and of the padding area, if any, and of the border area, if any) of a parent element shines through the margin area of its child. In this test, div#parent is painted green and is 100px by 100px; its sole child has an 99px margin bottom and a 100px margin right margin which are transparent and through which we can see the background color of its parent." name="assert" /> 15 16 <style type="text/css"><![CDATA[ 17 p {margin: 1em 0em;} 18 19 div#parent 20 { 21 background-color: green; 22 height: 100px; 23 width: 100px; 24 } 25 26 div#child 27 { 28 background-color: red; 29 height: 1px; 30 /* 31 'height: 1px' is set intentionally so that the 32 top margin (16px) and bottom margin (99px) of such child 33 box do not collapse through the element. 34 */ 35 margin: 16px 100px 99px 0px; 36 /* 37 'margin-top: 16px' correspond to the margin-bottom of the 38 <p>. The margin-top of the child box collapses with the 39 margin-top of div#parent and then the collapsed margin-top 40 of div#parent then collapses in its turn with the 41 margin-bottom of the <p>. 42 */ 43 width: auto; 44 } 45 ]]></style> 46 47 </head> 48 49 <body> 50 51 <p>Test passes if there is a filled green square and <strong>no red</strong>.</p> 52 53 <div id="parent"> 54 <div id="child"></div> 55 </div> 56 57 </body> 58 </html>