border-padding-bleed-002.xht (1982B)
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: line-height - padding-top of inline non-replaced element paint over previous line box</title> 8 9 <!-- 10 Inspired by 11 http://archive.webstandards.org/css/winie/inline.html 12 --> 13 14 <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" /> 15 <link rel="help" href="http://www.w3.org/TR/CSS21/visudet.html#leading" title="10.8.1 Leading and half-leading" /> 16 <link rel="bookmark" href="http://archive.webstandards.org/css/winie/inline.html" /> 17 <link rel="match" href="border-padding-bleed-001-ref.xht" /> 18 19 <meta content="ahem" name="flags" /> 20 <meta content="Although margins, borders and padding of inline non-replaced elements do not enter into the line box calculation, they are still rendered around inline boxes. This means that if the height specified by 'line-height' (40px in this testcase) is equal to the content height (40px in this testcase) of contained boxes, then background-color of padding-top area and border-top may 'bleed' into the adjoining preceding line box. Since line boxes are rendered in document order, this causes padding-top of 2nd line box (the span element in this testcase) to be painted over border-bottom and padding-bottom of inline boxes of previous line and, in this testcase, over the 1st line box." name="assert" /> 21 22 <link rel="stylesheet" type="text/css" href="/fonts/ahem.css" /> 23 <style type="text/css"><![CDATA[ 24 div 25 { 26 color: red; 27 font: 40px/1 Ahem; 28 } 29 30 span 31 { 32 background-color: green; /* so that padding-top area is painted green */ 33 color: green; 34 padding-top: 1em; 35 } 36 ]]></style> 37 38 </head> 39 40 <body> 41 42 <p>Test passes if there is a filled green rectangle and <strong>no red</strong>.</p> 43 44 <div>shuldboverlaPPed<br /> 45 <span>bleedover1stline</span></div> 46 47 </body> 48 </html>