In article <3ec400f952.harr...@blueyonder.co.uk>,
   Harriet Bazley <li...@orange.wingsandbeaks.org.uk> wrote:

> > Doing it with one table, you could have a six column table

> Mmmm... that is a bit of a nasty hack :-(

Quite.  But tables are what they are, and your requirements don't exactly
match the concept of a table.

> > <div class="example row">
> >  <div class="example head-left">head left</div>
> >  <div class="example head-centre">head centre</div>
> >  <div class="example head-right">head right</div>
> > </div>
> > <div class="example row">
> >  <div class="example body-left">body left</div>
> >  <div class="example body-right">body right</div>
> > </div>
> >
> >
> > With table layout:
> >
> > .example {
> >     border: 1px inset #aaa; }
> >
> > .row {
> >     display: table;
> >     border-spacing: 0;
> >     border: none;
> >     width: 100%; }
> > .head-left {
> >     display: table-cell;
> >     width: 20%; }
> > .head-centre {
> >     display: table-cell;
> >     text-align: center; }
> > .head-right {
> >     display: table-cell;
> >     width: 20%;
> >     text-align: right; }
> > .body-left {
> >     display: table-cell;
> >     width: 50%; }
> > .body-right {
> >     display: table-cell;
> >     text-align: right; }

> As I read it, this is, in fact, defining two separate tables; one with
> two cells in a single row and one with three?

Yes, kind of.  There are no HTML tables.  It has one block for each row. 
In that example they're styled to have a table type layout.  You can
achieve the same layout effect with the same markup and a different CSS
arrangement, as I showed with the alternate float-based example CSS. 
There are loads of ways to style the same markup to get the desired layout.

-- 

Michael Drake (tlsa)                  http://www.netsurf-browser.org/

Reply via email to