Jim -


There are plenty of tutorials on multi-column layouts using exclusively CSS, you just have to look for them. The main thing is you always have to use a float of one form or another, which means you need to specify the width of the columns you are looking to present (%s are okay).


The real problem I have with CSS1, and the one I cannot solve, is vertical alignment. the vertical-align property is not equivalent to valign in regular HTML. There does not appear to be a way to simply tell a block level element to line all things up at the bottom.


M

Jim Davis <[EMAIL PROTECTED]> wrote:
I agree (of course!) - but I also think (and that was the point of the rant)
that CSS SHOULD do that - easily.

Tables work so well for layout because most layouts are grid-based - and CSS
doesn't work well on a grid.  Tables work great on a grid (since they are a
grid) but don't allow for the separation of formatting and presentation.

I really didn't start the thread to learn how to do this - I know how to do
it, how to fake it, how to work around it and every other thing - I started
it just to rant.

I do exactly as you suggest - a hybrid design: mostly CSS with a general
"framework" table.  But every time I start a new site I think "I should give
all CSS a try. I've gotta be missing something if I can't do something so
simple" - and every time I do get frustrated, then disappointed, the do
exactly what I've always done.  ;^)

Jim Davis

  _____  

From: Irvin Gomez [mailto:[EMAIL PROTECTED]
Sent: Wednesday, May 26, 2004 2:09 PM
To: CF-Community
Subject: Re: Damn CSS... Damn it to hell!

Jim,

it's not CSS that is at fault here.
It's the most visible proponents' fault. Because they have created the
impression (in people not familiar with the concept of stylesheets) that CSS
is about NOT using tables for layout. And that's just plain wrong.

CSS is about automating presentational tasks in webpages. That simple.

In your particular case, just go ahead and create a simple table to hold the
three columns and then style them to your heart's delight.

A good, solid example that VALIDATES, IS ACCESSIBLE AND WORKS without
problems or contortions:

<div id="header">Header here</div>
<table>
<tr>
<td class="someclass">Column1</td>
<td class="somethingelse">Column2</td>
<td class="anotherstyle">Column3</td>
</tr>
</table>
<div id="footer">Footer here, if needed</div>

Hope it helps.

irvin

>Sorry - just venting.
>
>Every time I get into this it amazes me that CSS made it so damn difficult
>to do one of the most common layouts online: a full-width header, two
>equal-height (despite content) columns (one for navigation and one for
>content), and a full-width footer.  In other words, this:
>
><table>
> <tr colspan="2"><td>Header</td></tr>
> <tr> <td>Navigation</td>
> <td>Content</td>
> </tr>
> <tr colspan="2"><td>Footer</td></tr>
></table>
>
>How could a group spend upwards of three years defining CSS and not
consider
>that people might want to use it to build this kind of layout?  Especially
>when so many (perhaps most) sites use a variation on this theme?
>
>I've yet to find a simple, no hack way to achieve this and it's driving me
>nuts.  You can do it (sorta) but after you add in all the browser hacks,
>goofy code and workarounds you still end up with something that takes 10
>times the code of a simple table layout and degrades poorly to older
>browsers.
>
>I love the idea of CSS.  I love the idea of separating content from
>presentation.  But Christ-on-a-crutch why can't our replacement technology
>elegantly handle the simplest and most common layout ever!
>
>Rant over...
>
>Jim Davis

  _____
---------------------------------
[Todays Threads] [This Message] [Subscription] [Fast Unsubscribe] [User Settings]

Reply via email to