*Zak McGregor* <za*@mighty.co.za>:
I have a simple 3 column css layout here:
http://www.carfolio.com/newlook.dhtml
You have some broad tables there, thus you really shouldn't want to display
three columns at once, except maybe on extraordinary broad windows. Put the
Feedback part at the bottom, the Quick Search above the Adverts and move the
Advanced Search to a separate page linked from the Quick Search section.
Better yet, put the search into the top navbar. Feedback is linked there
too, so I don't see the need to pollute all pages with the form.
For that reasons I've not even looked into your CSS.
However, when the centre column is wider than the screen (yes, it does
happen on some pages on the site and no it can't happen differently) then
the 3rd column overlays itself over the middle column's content.
It does happen all the time here.
Is there a css-based 3 column layout without ugly hacks that will give
me a 3rd column as far to the right as need be?
<table id="layout"><tr><td>1<td>2<td>3</tr></table>
Your current outline (headings plus divs plus tables) is
div.box
div.header
Carfolio
div.navbar
ul
div.columns
div.leftpane.innerleft
Specifications
Adverts
Newsletter
Advanced search
div.middlepane.innermid
table.comp
div.rightpane.innerright
Quick Search
Feedback
div.clear
I don't know, but maybe div.columns should include div.rightpane.innerright?
Anyhow, it translates into something like
<table id="layout" class="box"><thead>
<tr class="header"><td colspan="3"><h1>Carfolio</h1></td></tr>
<tr class="navbar"><td colspan="3"><ul/></td></tr>
</thead><tbody class="columns"><tr>
<td class="leftpane innerleft">
<div><h3>Specifications</h3></div>
<div><h3>Adverts</h3></div>
<div><h3>Newsletter</h3></div>
<div><h3>Advanced search</h3></div>
</td>
<td class="middlepane innermid">
<table class="comp"/>
</td>
</tbody><tbody>
<td class="rightpane innerright">
<div><h3>Quick Search</h3></div>
<div><h3>Feedback</h3></div>
</td>
</tr></tbody></table>
(about 40 bytes more than with divs, keeping the classes) to which you could
apply
table#layout, table#layout>*, table#layout>*>tr,
table#layout>*>tr>* {display: block}
and then position it with CSS in modern browsers, if you really wanted to.
Btw.: "m²" looks better and is shorter than "m<sup>2</sup>" and torque isn't
measured in nanometres but Newton·metre (N·m) or kg·m²/s². Yes, "²" and "³"
are in Latin-1.
Tip: tbody>tr:hover, tbody>tr:hover>td {background: #F0F0F0}
--
Nothing is lost until you begin to look for it.