<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>

<head>

<!-- test case: colgroup_valign_baseline.html -->

<!-- description: HTML 4.0 COLGROUP element with VALIGN attribute. Value=baseline --> 

<!-- Author: Christine Dreckman Date: 2/19/99 -->


<!-- ***** 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 table layout tests.
   -
   - The Initial Developer of the Original Code is
   - Netscape Communications Corp.
   - Portions created by the Initial Developer are Copyright (C) 1999
   - the Initial Developer. All Rights Reserved.
   -
   - Contributor(s):
   -
   - Alternatively, the contents of this file may be used under the terms of
   - either 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 LGPL or the GPL. 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 ***** -->

<!-- Purpose: To test the VALIGN/baseline attribute/value of the COLGROUP element tag -->

<!-- Expected result: A table with two distinct column groups should be displayed. The first column group has two columns and the second column group has three columns. Text in the cells should be baseline-aligned -->

<title>colgroup_valign_baseline.html</title>



<style type="text/css">

	TD { height: 50px }

	TH { height: 50px }

</style>



</head>

<body>

<p>Colgroups are used to identify column groups. The table below has two distinct column groups; 'Airport Location' and 'Car Rental Information'. The first column group contains two columns and the second column group contains three columns.</p>



<p>In this test case, the cell text should be baseline-aligned.</p>

<table BORDER >

<colgroup valign="baseline">

<colgroup valign="baseline">

<tr>

<th COLSPAN="2">Airport Location</th>

<th COLSPAN="3">Car Rental information</th>

</tr>



<tr>

<th>Country</th>

<th>City</th>

<th>ABC Company</th>

<th>EFG Company</th>

<th>XYZ Company</th>

</tr>



<tr>

<td>France</td>

<td>Paris</td>

<td>yes</td>

<td>yes</td>

<td>yes</td>

</tr>



<tr>

<td>Germany</td>

<td>Frankfurt</td>

<td>yes</td>

<td>yes</td>

<td>yes</td>

</tr>



<tr>

<td>England</td>

<td>London</td>

<td>yes</td>

<td>yes</td>

<td>yes</td>

</tr>



<tr>

<td>Netherlands</td>

<td>Amsterdam</td>

<td>yes</td>

<td>yes</td>

<td>yes</td>

</tr>



<tr>

<td>USA</td>

<td>New York</td>

<td>yes</td>

<td>yes</td>

<td>yes</td>

</tr>



</table>

</body>

</html>

