<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
<title>empty-cells: show</title>
<link rel="next" href="backgr_layers-hide.html" title="Background Layers: empty-cell: hide">
<link rel="prev" href="backgr_position-table-cell.html" title="Background Position: Background on 'table-cell'">
<link rel="contents" href="./backgr_index.html" title="Table of Contents">
<link rel="stylesheet" type="text/css" href="common.css">
<style type="text/css">

  table        {background: blue; empty-cells: show}
  tbody, thead {background: url(../images/edge.gif) right top  no-repeat}
  tr           {background: url(../images/edge.gif) 0     10px   no-repeat}
  .colgroup-A  {background: url(../images/edge.gif) 100%  20px   no-repeat}
  .col-3       {background: url(../images/edge.gif) 0     30px   no-repeat}
  .c           {background: url(../images/edge.gif) -20px 100%   no-repeat; min-height: 50px}

</style>
</head>
<body>
<h1>CSS2 Table Backgrounds Test Suite</h1>

<h2>Part C: Background Layers</h2>

    <h3>empty-cells: show</h3>

    <p>Both tables should have a blue background.</p>

    <p>In table cell C (third cell in the first row), which is empty:</p>
    <ul>
        <li>Four sets of horizontal double violet stripes surrounded by aqua should run just inside the top border edge.
        <li>One set of aqua-backed double violet stripes should run just inside the left, right, and bottom border edges.
        <li>The third set along the top should turn down at the right edge and go under the fourth set to form the right-edge set.
        <li>The fourth set should turn down at the left edge to form the left set.
        <li>The bottom stripe should be straight and cut across <em>over</em> the side sets.
    </ul>
    <p>In table cell A, (first cell in the first row):</p>
    <ul>
        <li>Three sets of horizontal aqua-backed double violet stripes should run just inside the top border edge.
        <li>The first set should run across.
        <li>The second set should turn down at the left edge, going over the third set to form another set that runs just inside the left border edge.
    </ul>
    <p>In table cell D, (last cell in the first row):</p>
    <ul>
        <li>Two sets of horizontal aqua-backed double violet strips should run just inside the top border edge.
        <li>The first set should turn down at the right edge, going under the second horizontal set to run vertically just inside the right border edge.
    </ul>
    <p>In table cell G, (third cell in the second row):</p>
    <ul>
        <li>Two sets of horizontal aqua-backed double violet stripes should run just inside the top border edge.
        <li>A set of vertical stripes should run down just inside the left border edge, going under both horizontal stripes.
        <li>Another set of vertical stripes should run down just inside the right border edge, also going under both horizontal stripes.
    </ul>
    <dl>
       <dt>next
          <dd><a href="backgr_layers-hide.html">Background Layers: empty-cells: show</a>
       <dt>previous
          <dd><a href="backgr_position-table-cell.html">Background Position: Background on 'table-cell'</a>
       <dt>contents
          <dd><a href="./backgr_index.html">Table of Contents</a>
    </dl>

    <table class="separate">
    <caption>With 'border-collapse: separate'</caption>
    <colgroup class="colgroup-A">
      <col class="col-1">
      <col class="col-2">
      <col class="col-3">
    </colgroup>
    <colgroup class="colgroup-B">
      <col class="col-4">
    </colgroup>
    <thead>
      <tr class="th-row-1">
        <th class="a">TH A</th>
        <th class="b">TH B</th>
        <th class="c"></th>
        <th class="d">TH D</th>
      </tr>
    </thead>
    <tfoot>
      <tr class="tb-row-1">
        <td class="m" colspan=2>TD M</td>

        <td class="o">TD O</td>
        <td class="p">TD P</td>
    </tfoot>
    <tbody>
      <tr class="tb-row-1">
        <td class="e" rowspan=2>TD E</td>
        <td class="f">TD F</td>
        <td class="g">TD G</td>
        <td class="h">TD H</td>
      </tr>
      <tr class="tb-row-2">

        <td class="j">TD J</td>
        <td class="k">TD K</td>
        <td class="l">TD L</td>
      </tr>
    </tbody>
    </table>

    <table class="collapse">
    <caption>With 'border-collapse: collapse'</caption>
    <colgroup class="colgroup-A">
      <col class="col-1">
      <col class="col-2">
      <col class="col-3">
    </colgroup>
    <colgroup class="colgroup-B">
      <col class="col-4">
    </colgroup>
    <thead>
      <tr class="th-row-1">
        <th class="a">TH A</th>
        <th class="b">TH B</th>
        <th class="c"></th>
        <th class="d">TH D</th>
      </tr>
    </thead>
    <tfoot>
      <tr class="tb-row-1">
        <td class="m" colspan=2>TD M</td>

        <td class="o">TD O</td>
        <td class="p">TD P</td>
    </tfoot>
    <tbody>
      <tr class="tb-row-1">
        <td class="e" rowspan=2>TD E</td>
        <td class="f">TD F</td>
        <td class="g">TD G</td>
        <td class="h">TD H</td>
      </tr>
      <tr class="tb-row-2">

        <td class="j">TD J</td>
        <td class="k">TD K</td>
        <td class="l">TD L</td>
      </tr>
    </tbody>
    </table>
<div class="validity">
  <a href="http://validator.w3.org/check/referer"><img
     src="../images/valid-html401.png"  height="31" width="88"
     alt="Valid HTML 4.01!"></a>
</div>
<address>
  CSS2 Table Backgrounds Test Suite designed and written by fantasai &lt;fantasai&#64;escape.com&gt;
</address>

</body>
</html>
