<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

<html xmlns="http://www.w3.org/1999/xhtml">

 <head>

  <title>CSS Test: table-layout: fixed - cell in the first row with specified width</title>

  <link rel="author" title="Gérard Talbot" href="http://www.gtalbot.org/BrowserBugsSection/css21testsuite/" />
  <link rel="help" href="http://www.w3.org/TR/CSS21/tables.html#fixed-table-layout" />
  <link rel="bookmark" href="http://lists.w3.org/Archives/Public/www-style/2011Oct/0502.html" title="[css21] Section 17.5.2.1 should be clarified" />
  <link rel="match" href="fixed-table-layout-003f02-ref.xht" />

  <meta name="flags" content="" />
  <meta name="assert" content="A cell in the first row with specified non-auto 'width' sets the width for its column in the absence of a column element with specified non-auto width. This test checks the 'border-collapse: collapse' model with zero horizontal cell padding and with non-zero symetrical horizontal cell borders." />

  <style type="text/css"><![CDATA[
  div, table {font: 1.25em/1.2 serif;}

  table
  {
  border-collapse: collapse;
  table-layout: fixed;
  width: 300px;
  }

  td {padding: 0px;}

  td#tested-cell
  {
  background-color: blue;
  border-left: orange solid 60px;
  border-right: orange solid 60px;
  color: blue;
  width: 80px;
  }

  div#reference
  {
  background-color: black;
  color: black;
  margin-left: 50px;

  /*

  "
  In the fixed table layout algorithm, the width of each column is determined as follows:

  (...) a cell in the first row with a value other than 'auto' for the 'width' property determines the width for that column. (...)
    Any remaining columns equally divide the remaining horizontal table space (minus borders or cell spacing).
  "
  Section 17.5.2.1 Fixed table layout
  http://www.w3.org/TR/CSS21/tables.html#fixed-table-layout


  Middle column width calculations
  --------------------------------

   30px : half of border-left since such border must be split with cell in 1st column
 +
   80px : width of cell in the middle column
 +
   30px : half of border-right since such border must be split with cell in 3rd column

  =======
  140px : width of the middle column


  So,
      300px : table set width
    -
      140px : width of the middle column
      ======
      160px

      So, each of the 2 remaining columns must be
      half of such extra horizontal table space,
      which is 160px divided by 2 == 80px.

  1st column width calculations
  -----------------------------

    (solve) : width of cell in 1st column
  +
    30px    : border-right of cell in 1st column
   ======
    80px    : width of 1st column

  So, the width of the cell in first column must be exactly 50px.


  3rd column width calculations
  -----------------------------

    30px    : border-left of cell in 3rd column
  +
    (solve) : width of cell in 3rd column
   =======
    80px    : width of 3rd column

   So, the width of the cell in 3rd column must be exactly 50px.


  Finally, the precise horizontal point where the border-right of cell
  in first column begins to be drawn, painted is:

    50px    : width of cell in 1st column

  Therefore the margin-left: 50px value of the div#reference.

  */

  width: 200px;
  }
  ]]></style>

 </head>

 <body>

  <p>Test passes if the 2 orange slivers and blue stripe are as a whole <strong>exactly as wide as</strong> the black stripe.</p>

  <table>

   <col />
   <col />
   <col />

   <tr>
    <td></td>
    <td id="tested-cell">F02</td>
    <td></td>
   </tr>

  </table>

  <div id="reference">200px wide</div>

 </body>
</html>
