<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
  <title>CSS Test: Auto-imported from Gecko test white-space-25.html</title>
  <link rel="author" title="Boris Zbarsky" href="mailto:bzbarsky@mit.edu"/>
  <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#anonymous-boxes"/>
  <link rel="match" href="reference/no_red_antialiasing_a_bc_d-ref.xht"/>
  <meta name="flags" content='dom'/>

    <script type="text/javascript"><![CDATA[
      function doTest() {
        var t = document.getElementById("t");
        var parent = t.parentNode;
        parent.insertBefore(document.createTextNode(" "), t);
        parent.insertBefore(document.createTextNode("bc"), t);
        parent.insertBefore(document.createTextNode(" "), t);
        document.documentElement.className = "";
      }
    ]]></script>
  </head>
<body onload="doTest()">
<p>There should be no red below, except for antialiasing issues.</p>
<div style="position: relative; font-size: 2em;">
<div style="position: absolute; z-index: 2; top: 0; color: green; padding: 1px;">

    <span style="display:table-row; white-space: pre"><span style="display: table-cell">a</span><span id="t" style="display: table-cell">d</span></span>
  </div>
<div style="position: relative; z-index: 1; color: red; padding: 1px;">

    a bc d
  </div>
</div>
</body>
</html>
