Almost everybody knows that CSS makes layouts easier than they were with tables. One of the reasons many people stuck with tables for so long is that it’s a bit difficult to create column-based designs using CSS.

Believe me, CSS columns aren't that difficult to produce once you understand how CSS float rules work. Float allows you to say that some portions of your content should 'float' next to other portions, instead of being displayed one after the next.

A column layout in CSS is quite simple and you’ll see why. Just see how to divide your content from your navigation using the div tag, as mentioned below:

Please 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. See below-

#left-nav {float: left; width: 30%;}

#right-nav {float: right; width: 30% }

You can adjust the width % depending on how wide you want your left and right columns to be (you can even choose whether to set the width in percentages or in pixels). And now you've set up a successful three-column layout. Amazing! Isn’t it?

If you wish that your left and right columns should have a different background colour to the centre one, this might be a bit trickier. This is because in most of the browsers, your columns are only considered to extend downwards as far as the text in them does meaning that the bottoms of your columns won't line up.

How to solve this issue then? The best way 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. But the 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.

You might also like to add text-align: center, so they appear in the middle of the page. There are few more things which you would need to learn about but if you found the above simple I am sure you’ll find playing around with CSS easy.

Cookie Policy

This website uses cookies that are necessary to its functioning and required to achieve the purposes illustrated in the privacy policy. By accepting this OR scrolling this page OR continuing to browse, you agree to our Privacy Policy