create profitable web site design
web site design help
create profitable business web sites
GET INSTANT ACCESS TO THE WORLD'S
GREATEST SOFTWARE - FOR FREE!

Programs that will PERSONALIZE your PC experience...
PROTECT your online privacy... UNLEASH your creativity...
Programs that will help you COMMUNICATE better...
[ Save Time. Save Money. There's NO Catch. ]


 

CSS: Create Column Designs in Your HTML
SolveYourProblem.com Article Series: Web Site Design

    

So CSS makes layouts easier than they were with tables – there's not really much debate about that. One of the reasons many people stuck with tables for so long (and, in fact, still stick with tables to this day) is that it can be difficult to create column-based designs using CSS. Since there are so many websites that essentially consist of a middle column of content surrounded by left and right columns containing navigation and ads, this was considered to be unacceptable.

The Power of Float

Really, though, CSS columns aren't that difficult to produce once you understand how CSS float rules work. Float allows you to say that some parts of your content should 'float' next to other parts, instead of being displayed one after the next (that is, underneath each other).

Despite all the fear of column layouts in CSS, it's quite simple. Basically, the first thing to do is to divide your content from your navigation using the div tag, like this:

<div id="left-nav"></div>
< div id="right-nav"></div>
< div id="main-content"></div>

Note that the divs must be in this order – left, right, centre – because otherwise one column might end up underneath another in a way you don't expect. Ordering things logically as left, centre, then right, for example, will cause your right column to end up under the centre one.

Anyway, the next step is to write the CSS for those IDs you just set up. Are you ready for the CSS that's made old-style HTML developers run in fear for about five years now? It looks like this:

#left-nav { float: left; width: 20%; }
#right-nav { float: right; width: 20%; }

Obviously you can adjust the widths depending on how wide you want your left and right columns to be (you can choose whether to set the widths as percentages or in pixels). And that's it! You've set up a successful three-column layout.

Then, though, the problems come – they might seem small, but they're big enough to drive anyone who works on CSS column layouts nuts. Luckily, however, they can be solved with a little lateral thinking.

The Background Problem

If you want your left and right columns to be have a different background colour to the center one, you're in for a problem. In most browsers, your columns are only considered to extend downwards as far as the text in them does, which means that the bottoms of your columns won't line up.

What's the way around this? The best answer is to make your columns fixed-width (meaning that you specify their width in pixels, eg. 'width: 100px;'). Once you've done that, you can create one-pixel-high image that includes the colours you want for the columns, and make it the background image, tiling it using 'background: repeat;'.

The only problem left to solve at this point is that fixed-width columns can look strange if you leave them spaced as they are. The solution is to specify a fixed width for your document's body, and then set the left and right margins to 'auto' – this will centre the page on the screen.

The Header and Footer Problem

Another problem? Well, yes. If you want to display a header or footer separately from the page's columns, CSS can give you a little trouble – sure, you can add them to the middle column, but that would require you to add extra space to the navigation columns at the top, and make sure they didn't reach down further than the main content text at the bottom. It quickly becomes painful to work with.

The solution to this lies in a little-known CSS rule called 'clear'. The clear rule means that you don't want anything to be floating around the tag you apply it to. It has three possible settings: left, right and both.

In this case, you want to add your header and footer before and after the other divs, like this:

<div id="header"></div>
< div id="left-nav"></div>
< div id="right-nav"></div>
< div id="main-content"></div>
< div id="footer"></div>

Then you want to add this CSS to what you've got already:

header, footer { clear: both; }

That tells the browser that you don't want anything floating on either the left or the right of your header or footer: you want them clear of everything. You might also like to add text-align: center, so they appear in the middle of the page. And that's it! What was all the fuss about, eh?

# # # # #

SolveYourProblem.com : 2007

> Home > Website Design Articles: Main Page

 

 

Like This Article?
Want More?

Click Here To
Connect To
This Channel's
Index Page.

   

Hot Channels
For The Past 7 Days:

Web Design Tips
(451 views)
Web Conferencing
(398 views)
iPod
(376 views)
Spyware
(292 views)
Podcasting
(292 views)

Bluetooth
(258 views)
Web Hosting
(248 views)
Internet Security
(232 views)
VoIP
(227 views)

Top How-To's
For The Past 7 Days:

Unfreeze Your iPod
(52 views)

Delete Songs From
Your iPod

(40 views)

Difference Between
Websites & Blogs

(22 views)

Blogging:
Libel & Slander

(16 views)

Browser Hijacker
(15 views)

Sharing a
Wireless Internet
Connection

(15 views)

2 iPods,
1 Computer

(14 views)

iPod Basics
For Beginners

(12 views)

Convert Analog TV
To HDTV

(12 views)

Connecting
Bluetooth
Products

(12 views)

[ more... ]

 

What's Hot in Business & Marketing:

The Most Complete
Internet Business Start-up
System Ever Created...

You Can Launch Your Own Internet
Business In As Little as 48 Hours.
[ Take a 100% Risk-Free Test Drive ]
"BLOGGING FOR DOLLARS"
Starting your own online business has
never been easier! You can set up your
FIRST blog in 45 seconds...

5 minutes if you're slow.
Shocking case studies and test results.

[ Start Making Money Today ]
SELF EMPOWERMENT
Learn how to gain complete control over
your life & get everything you want.
"This is 4 STAR Life Improvement."
The easiest, most practical way to make
massive changes in your life right now.
[ Receive Dare To Dream Today ]

Home | Self Improvement | Small / Home Business | Merchant Accounts | Advertising | Technology | US Elections & Politics
Relationships / Dating | Autos | Gardening | Home Improvement | Pets / Animals | Shopping / Hobbies | Sports | Travel
Directory / All Channels | RSS / XML Feed | Contact | Site Map

SolveYourProblem.com Downloadable "How-To" Guides

AddThis Social Bookmark Button      AddThis Feed Button

© Launch 3, LLC All Rights Reserved