954,206 Members — Technology Publication meets Social Media
Username:
Password:
Lost login information?
Have something to say? Contribute New Article Reply to this Article

Fluid CSS, aligning column heights, but with fluid widths

Hi,

First post here :)

Basically I have 2 columns, both with different background colours that need to be the same height

Both columns are fluid - they use a percentage of the screen for their width so are not fixed for example the left column is 25% and black and the the right is 75% and grey in colour.

The height of both columns is not declared, leaving it as auto by default - my columns will alter height accordingly to whats inside them.

The content is not dynamic, but when resizing the window or increasing the font size this will of course alter the heights.

What I need is to be able to make which ever column ends up the shortest to match its height to the column thats the deepest.

Basically so that it works like a table does.

Does that make any sense to anyone?

Cheers,

Pete.

Pete_UK
Newbie Poster
3 posts since Jun 2007
Reputation Points: 10
Solved Threads: 1
 

Why not use a table? That's what tables do well; that's not what two unrelated elements do well without some javascript hacks.

If you fixed the height on the two columns' mutual container and set both of their heights to 100% it might work... But if you're using floats and/or non-flow positioning to get the side-by-side columns, it probably won't work...

Tables != Evil.

MattEvans
Veteran Poster
Moderator
1,386 posts since Jul 2006
Reputation Points: 522
Solved Threads: 64
 

You could also try the display property in css, I haven't tried myself yet but by using it you can make your elements behave like most other elements.

for example display: inline applied to a list will make it behave as an inline element like p

¤| battousai |¤
Light Poster
37 posts since Sep 2006
Reputation Points: 17
Solved Threads: 1
 

You could also try the display property in css, I haven't tried myself yet but by using it you can make your elements behave like most other elements.

for example display: inline applied to a list will make it behave as an inline element like p or a so the list will be horizontal.

what you can use is display: table, and other table based behaviors to have the boxes behave more like tables.

but be aware that the display property doesn't work in I.E.

Also have a look at W3Schools for more info on this property

¤| battousai |¤
Light Poster
37 posts since Sep 2006
Reputation Points: 17
Solved Threads: 1
 

Hi all,

I solved the problem :) and it was really simple I got exactly what I wanted with no compromise - and without lame CSS browser hacks.

I'll post it up as soon as I've finished my site.

Pete.

Pete_UK
Newbie Poster
3 posts since Jun 2007
Reputation Points: 10
Solved Threads: 1
 

This article has been dead for over three months

Post: Markdown Syntax: Formatting Help
You