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

  .th-row-1 {background: black url(../images/edge.gif) bottom right no-repeat;}
  .tb-row-1 {background: black url(../images/edge.gif) bottom left   no-repeat;}
  .tb-row-2 {background: black url(../images/edge.gif) top    left no-repeat;}
  
</style>
</head>
<body>
<h1>CSS2 Table Backgrounds Test Suite</h1>

<h2>Part B: Background Position</h2>

    <h3>Background on 'table-row'</h3>

    <p>Three rows are styled.</p>
    <p>The first row should have three aqua stripes just inside the
     bottom and right border edges of its last cell. The bottom three
     stripes should continue across the row, appearing along the border
     edge of each cell.</p>
    <p>The second row should have three vertical aqua stripes just
     inside the left border edge of the top half of the first cell (Cell
     E.) Three horizontal aqua stripes should cut across that cell and
     align along the bottom border edge of the last three cells.</p>
    <p>The third row should have three horizontal aqua stripes along the
     top border edge of the last three cells in the row.</p>
    <dl>
       <dt>next
          <dd><a href="backgr_position-table-column.html">Background Position: Background on 'table-column'</a>
       <dt>previous
          <dd><a href="backgr_position-table-column-group.html">Background Position: Background on 'table-column-group'</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 C</th>
        <th class="d">TH D</th>
      </tr>
    </thead>
    <tfoot>
      <tr class="tf-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 C</th>
        <th class="d">TH D</th>
      </tr>
    </thead>
    <tfoot>
      <tr class="tf-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>
