<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0//EN" "http://www.w3.org/TR/REC-html40/strict.dtd">

<!-- ***** BEGIN LICENSE BLOCK *****
 Version: MPL 1.1/GPL 2.0/LGPL 2.1

 The contents of this file are subject to the Mozilla Public License Version
 1.1 (the "License"); you may not use this file except in compliance with
 the License. You may obtain a copy of the License at
 http://www.mozilla.org/MPL/

 Software distributed under the License is distributed on an "AS IS" basis,
 WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
 for the specific language governing rights and limitations under the
 License.

 The Original Code is mozilla.org Code.

 The Initial Developer of the Original Code is
 Netscape Communications Corporation.
 Portions created by the Initial Developer are Copyright (C) 1998-1999
 the Initial Developer. All Rights Reserved.

 Contributor(s):

 Alternatively, the contents of this file may be used under the terms of
 either of the GNU General Public License Version 2 or later (the "GPL"),
 or the GNU Lesser General Public License Version 2.1 or later (the "LGPL"),
 in which case the provisions of the GPL or the LGPL are applicable instead
 of those above. If you wish to allow use of your version of this file only
 under the terms of either the GPL or the LGPL, and not to allow others to
 use your version of this file under the terms of the MPL, indicate your
 decision by deleting the provisions above and replace them with the notice
 and other provisions required by the GPL or the LGPL. If you do not delete
 the provisions above, a recipient may use your version of this file under
 the terms of any one of the MPL, the GPL or the LGPL.

 ***** END LICENSE BLOCK ***** -->

<html lang="en-US">
<head>
<title>Vertical alignment and table height</title>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<meta http-equiv="Content-Style-Type" content="text/css">
<link rel="copyright" href="/~dbaron/legal.html">
<style type="text/css">

/* XXX Should really remove black */
table td { border: thin solid black; }

table.one { height: auto; }
table.two { height: 30px; }
table.three { height: 500px; }
table.four, table.five { height: 50%; }
div.five { height: 600px; border: medium solid purple; }

tr.auto { height: auto; }
tr.small { height: 2px; }
tr.big { height: 200px; }

table.baseline td { vertical-align: baseline; }
table.middle td { vertical-align: middle; }
table.top td { vertical-align: top; }
table.bottom td { vertical-align: bottom; }

span.big { font-size: 400%; }

table.cellsmall td { height: 2px; }
table.cellauto td { height: auto; }

td.baselinea { vertical-align: baseline; }
td.baselineb { vertical-align: text-bottom; }
td.baselinec { vertical-align: text-top; }
td.baselined { vertical-align: super; }
td.baselinee { vertical-align: sub; }
td.baselinef { vertical-align: -12px; } /* probably correct */
td.baselineg { vertical-align: 40%; } /* probably correct */
td.top { vertical-align: top; }
td.middle { vertical-align: middle; }
td.bottom { vertical-align: bottom; }

td.big { font-size: 300%; }
td.biggest { font-size: 600%; }

</style>
</head>
<body>
<h1>Vertical alignment and table height</h1>

<p>The following three tables have heights of <code>auto</code>,
<code>30px</code>, and <code>500px</code>.  The first one should have
the height of the sum of its rows.  The second and third can be handled
however the browser wants, but there just here to make sure it does
something reasonable.</p>

<table class="one">
        <tr><td>Data</td><td>Data</td><td>Data</td></tr>
        <tr><td>Data</td><td>Data</td><td>Data</td></tr>
        <tr><td>Data</td><td>Data</td><td>Data</td></tr>
        <tr><td>Data</td><td>Data</td><td>Data</td></tr>
        <tr><td>Data</td><td>Data</td><td>Data</td></tr>
        <tr><td>Data</td><td>Data</td><td>Data</td></tr>
</table>

<table class="two">
        <tr><td>Data</td><td>Data</td><td>Data</td></tr>
        <tr><td>Data</td><td>Data</td><td>Data</td></tr>
        <tr><td>Data</td><td>Data</td><td>Data</td></tr>
        <tr><td>Data</td><td>Data</td><td>Data</td></tr>
        <tr><td>Data</td><td>Data</td><td>Data</td></tr>
        <tr><td>Data</td><td>Data</td><td>Data</td></tr>
</table>

<table class="three">
        <tr><td>Data</td><td>Data</td><td>Data</td></tr>
        <tr><td>Data</td><td>Data</td><td>Data</td></tr>
        <tr><td>Data</td><td>Data</td><td>Data</td></tr>
        <tr><td>Data</td><td>Data</td><td>Data</td></tr>
        <tr><td>Data</td><td>Data</td><td>Data</td></tr>
        <tr><td>Data</td><td>Data</td><td>Data</td></tr>
</table>

<p>These tables test percentage heights.  The first should be its
natural height; the second should be 50% of the height of the div
(600px), which is 300px.</p>

<table class="four">
        <tr><td>Data</td><td>Data</td><td>Data</td></tr>
        <tr><td>Data</td><td>Data</td><td>Data</td></tr>
        <tr><td>Data</td><td>Data</td><td>Data</td></tr>
        <tr><td>Data</td><td>Data</td><td>Data</td></tr>
        <tr><td>Data</td><td>Data</td><td>Data</td></tr>
        <tr><td>Data</td><td>Data</td><td>Data</td></tr>
</table>

<div class="five">
<table class="five">
        <tr><td>Data</td><td>Data</td><td>Data</td></tr>
        <tr><td>Data</td><td>Data</td><td>Data</td></tr>
        <tr><td>Data</td><td>Data</td><td>Data</td></tr>
        <tr><td>Data</td><td>Data</td><td>Data</td></tr>
        <tr><td>Data</td><td>Data</td><td>Data</td></tr>
        <tr><td>Data</td><td>Data</td><td>Data</td></tr>
</table>
</div>

<p>The following tests test <code>height</code> on table rows.
A value of <code>auto</code> requires the minimum height needed by
the cells.  In a simple case, this is just the height of the tallest
cell (excluding the increased padding, of course, since with the padding
the cells have the same height):</p>

<table>
        <tr class="auto"><td>Data</td><td>Data<br>Data</td><td>Data</td></tr>
</table>

<p>However, vertical-align values of <code>baseline</code> (the default,
but could be overridden in a UA stylesheet)
can make it taller than that:</p>

<table class="baseline">
        <tr class="auto">
                <td>Data</td>
                <td><span class="big">Data</span><br>Data</td>
                <td>Data<br><span class="big">Data</span></td>
        </tr>
</table>

<p>The exact same thing should happen when the given height for the
row is too small:</p>

<table class="baseline">
        <tr class="small">
                <td>Data</td>
                <td><span class="big">Data</span><br>Data</td>
                <td>Data<br><span class="big">Data</span></td>
        </tr>
</table>

<p>Padding should also be able to increase the height (here the
first cell has 20px padding-top and the second has 20px of padding-bottom):</p>

<table>
        <tr>
                <td style="padding-top: 20px;">Data</td>
                <td style="padding-bottom: 20px">Data</td>
                <td>Data</td>
        </tr>
</table>

<table>
        <tr class="small">
                <td style="padding-top: 20px;">Data</td>
                <td style="padding-bottom: 20px">Data</td>
                <td>Data</td>
        </tr>
</table>

<p>These two tables should be 200px tall, because of a height on the table
row.  The second one should have its second and third cell's contents
offset from the middle by 10px (bottom, then top):</p>

<table class="baseline">
        <tr class="big">
                <td>Data</td>
                <td><span class="big">Data</span><br>Data</td>
                <td>Data<br><span class="big">Data</span></td>
        </tr>
</table>

<table class="middle">
        <tr class="big">
                <td style="padding-top: 20px;">Data</td>
                <td style="padding-bottom: 20px">Data</td>
                <td>Data</td>
        </tr>
</table>

<p>The behavior of percentage heights on table-row or table-row-group
is undefined.  However, I think they should be ignored, so these tables
should look normal:</p>

<table>
        <tr style="height: 200%"><td>Data</td><td>Data</td><td>Data</td></tr>
        <tr><td>Data</td><td>Data</td><td>Data</td></tr>
        <tr><td>Data</td><td>Data</td><td>Data</td></tr>
</table>

<table>
        <tr style="height: 40%"><td>Data</td><td>Data</td><td>Data</td></tr>
        <tr><td>Data</td><td>Data</td><td>Data</td></tr>
        <tr><td>Data</td><td>Data</td><td>Data</td></tr>
</table>

<table>
        <thead style="height: 40%">
                <tr><td>Data</td><td>Data</td><td>Data</td></tr>
                <tr><td>Data</td><td>Data</td><td>Data</td></tr>
        </thead>
        <tfoot style="height: 40%">
                <tr><td>Data</td><td>Data</td><td>Data</td></tr>
                <tr><td>Data</td><td>Data</td><td>Data</td></tr>
        </tfoot>
        <tbody style="height: 40%">
                <tr><td>Data</td><td>Data</td><td>Data</td></tr>
                <tr><td>Data</td><td>Data</td><td>Data</td></tr>
                <tr><td>Data</td><td>Data</td><td>Data</td></tr>
        </tbody>
</table>

<table>
        <thead style="height: 150%">
                <tr><td>Data</td><td>Data</td><td>Data</td></tr>
                <tr><td>Data</td><td>Data</td><td>Data</td></tr>
        </thead>
        <tfoot style="height: 150%">
                <tr><td>Data</td><td>Data</td><td>Data</td></tr>
                <tr><td>Data</td><td>Data</td><td>Data</td></tr>
        </tfoot>
        <tbody style="height: 150%">
                <tr><td>Data</td><td>Data</td><td>Data</td></tr>
                <tr><td>Data</td><td>Data</td><td>Data</td></tr>
                <tr><td>Data</td><td>Data</td><td>Data</td></tr>
        </tbody>
</table>

<p>The following table should look normal, since very small heights
get ignored:</p>

<table class="cellsmall">
        <tr><td>Data</td><td>Data</td><td>Data</td></tr>
</table>

<p>So should this one, for auto cell heights:</p>

<table class="cellauto">
        <tr><td>Data</td><td>Data</td><td>Data</td></tr>
</table>

<p>These tables should look the same - all cells should be 100px tall
with the text at the top of the cells:</p>

<table class="baseline">
        <tr>
                <td style="height: 100px">Data</td>
                <td style="height: 100px">Data</td>
                <td style="height: 100px">Data</td>
        </tr>
</table>

<table class="middle">
        <tr>
                <td style="height: 100px">Data</td>
                <td style="height: 100px">Data</td>
                <td style="height: 100px">Data</td>
        </tr>
</table>

<table class="top">
        <tr>
                <td style="height: 100px">Data</td>
                <td style="height: 60px">Data</td>
                <td style="height: 20px">Data</td>
        </tr>
</table>

<table class="baseline">
        <tr>
                <td style="height: 100px">Data</td>
                <td style="height: 60px">Data</td>
                <td style="height: 20px">Data</td>
        </tr>
</table>

<p>In these four tables, the text should be 20px lower each cell, but should
otherwise look like the above three tables:</p>

<table class="top">
        <tr>
                <td style="height: 100px">Data</td>
                <td style="height: 60px; padding: 20px 0;">Data</td>
                <td style="height: 20px; padding: 40px 0;">Data</td>
        </tr>
</table>

<table class="top">
        <tr>
                <td style="height: 100px">Data</td>
                <td style="height: 60px; padding: 20px 0 0 0;">Data</td>
                <td style="height: 20px; padding: 40px 0 0 0;">Data</td>
        </tr>
</table>

<table class="middle">
        <tr>
                <td style="height: 100px">Data</td>
                <td style="height: 60px; padding: 20px 0;">Data</td>
                <td style="height: 20px; padding: 40px 0;">Data</td>
        </tr>
</table>

<table class="middle">
        <tr>
                <td style="height: 100px">Data</td>
                <td style="height: 60px;">Data</td>
                <td style="height: 20px;">Data</td>
        </tr>
</table>

<p>These should have the text 40px from the top in every cell:</p>

<table class="baseline">
        <tr>
                <td style="height: 60px">Data</td>
                <td style="padding: 20px 0;">Data</td>
                <td style="padding: 40px 0;">Data</td>
        </tr>
</table>

<table class="baseline">
        <tr>
                <td style="height: 37px">Data</td>
                <td style="height: 53px; padding: 20px 0 0 0;">Data</td>
                <td style="height: 60px; padding: 40px 0 0 0;">Data</td>
        </tr>
</table>

<table class="middle">
        <tr>
                <td style="height: 20px">Data</td>
                <td style="height: 20px; padding: 20px 0;">Data</td>
                <td style="height: 20px; padding: 40px 0;">Data</td>
        </tr>
</table>

<table class="bottom">
        <tr>
                <td style="height: 60px">Data</td>
                <td style="height: 40px; padding: 20px 0;">Data</td>
                <td style="height: 20px; padding: 40px 0;">Data</td>
        </tr>
</table>

<table class="bottom">
        <tr>
                <td style="height: 60px">Data</td>
                <td style="height: 40px; padding: 0 0 20px 0;">Data</td>
                <td style="height: 20px; padding: 0 0 40px 0;">Data</td>
        </tr>
</table>


<p>In each of the following tables, three of the cells should have
the same baseline of the first line, and the three so marked should be
aligned top, middle, and bottom:</p>

<table>
        <tr>
                <td class="baselinea">Data</td>
                <td class="baselineb big">Data</td>
                <td class="baselinec biggest">Data</td>
                <td class="top">Top</td>
                <td class="middle">Middle</td>
                <td class="bottom">Bottom</td>
        </tr>
</table>

<table>
        <tr>
                <td class="top">Top</td>
                <td class="middle">Middle</td>
                <td class="bottom">Bottom</td>
                <td class="baselined biggest">Data</td>
                <td class="baselinee">Data</td>
                <td class="baselinef big">Data</td>
        </tr>
</table>

<table>
        <tr>
                <td class="baselineg biggest">Data</td>
                <td class="top">Top</td>
                <td class="middle">Middle</td>
                <td class="baselinea">Data</td>
                <td class="bottom">Bottom</td>
                <td class="baselineb big">Data</td>
        </tr>
</table>

<table>
        <tr>
                <td class="top">Top</td>
                <td class="baselinec">Data</td>
                <td class="baselinee big">Data</td>
                <td class="middle">Middle</td>
                <td class="bottom">Bottom</td>
                <td class="baselined biggest">Data</td>
        </tr>
</table>

<table>
        <tr>
                <td class="top">Top</td>
                <td class="baselineg big">Data</td>
                <td class="bottom">Bottom</td>
                <td class="baselinef">Data</td>
                <td class="baselinea biggest">Data</td>
                <td class="middle">Middle</td>
        </tr>
</table>

<hr title="Beginning of Footer">
<p><a href="http://validator.w3.org/check/referer" title="W3C HTML Validator"><img src="../images/vh40" alt="Valid HTML 4.0!" height="31" width="88"></a></p>
<p>(Back to
<a href="./">CSS Testing Information</a>,
<a href="../../">David Baron</a>)</p>
<p><a href="/~dbaron/" title="David Baron's Homepage">LDB</a>,
<a rev="made" href="mailto:dbaron@fas.harvard.edu" TITLE="Send e-mail to David Baron">dbaron@fas.harvard.edu</a></p>

</body></html>
