The titles says it. I want a 2-column CSS layout that:
If the window is greater than max width, the content will be centered on the page at the max value. If the window is smaller than max width, the content fills 100% of the page, unless it's smaller than min width which would make the horizontal scrollbar appear.
I'm willing to use some minor javascript to handle the min/max width for browsers which don't support those properties (I'm looking at you IE6), but I'm just as willing to let that part of the layout degrade.
It is drop dead simple with tables. I've looked through literally hundreds of example layouts, and nothing can do all of the things I'm asking, though there are several that come close. The problem seems to be getting a fluid left column and source ordering in the same style. I've found several examples of a fixed left/fluid right (opposite of what I want) with proper source order, or fluid left/fixed right without source ordering, but not both.
I don't care if it uses floats or negative margins, but I'd like to avoid absolute positioning.
+---------------------------------------+
| |
| +---------------------------+-----+ |
| |fluid |fixed| |
| | | | |
| | | | |
| +---------------------------+-----+ |
| |
+---------------------------------------+
I highly recommend checking out The CSS templates at Dynamic Drive. The 5th one down should be what you're looking for (Fluid-Fixed). Just add a max-width
and min-width
to the main container element and you should be all set.
FYI, these are really good templates to use as a base for your page layouts. Playing with the CSS is a great way to learn a lot about floats and positioning, and it really helped me out in my early days of web development.
My attempt: http://www.ryankinal.com/fluid/
It doesn't completely work, though that's only because at very small window sizes, my negative margins can cause the content to fall off the page. Here's the theory:
So, the larger the right column, the more likely it is that the content will fall off. But that's as close as I've gotten in a good hour or so. It's also a little hackish due to wrapping the right column in an extraneous div and taking advantage of overflow: visible.
But them's my dukes (for now).
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With