Style Sheets
  Home arrow Style Sheets arrow Page 2 - Building a Three-Column Web Page Layout wi...
Dev Articles Forums 
ADO.NET  
Apache  
ASP  
ASP.NET  
C#  
C++  
ColdFusion  
COM/COM+  
Delphi-Kylix  
Design Usability  
Development Cycles  
DHTML  
Embedded Tools  
Flash  
Graphic Design  
HTML  
IIS  
Interviews  
Java  
JavaScript  
MySQL  
Oracle  
Photoshop  
PHP  
Reviews  
Ruby-on-Rails  
SQL  
SQL Server  
Style Sheets  
VB.Net  
Visual Basic  
Web Authoring  
Web Services  
Web Standards  
XML  
Mobile Linux 
App Generation ROI 
IBM® developerWorks 
Weekly Newsletter
 
Developer Updates  
Free Website Content 
 RSS  Articles
 RSS  Forums
 RSS  All Feeds
Write For Us Get Paid 
Request Media Kit
Contact Us 
Site Map 
Privacy Policy 
Support 
 USERNAME
 
 PASSWORD
 
 
  >>> SIGN UP!  
  Lost Password? 
STYLE SHEETS

Building a Three-Column Web Page Layout with DIV-Based CSS Tables
By: Alejandro Gervasio
  • Search For More Articles!
  • Disclaimer
  • Author Terms
  • Rating: 4 stars4 stars4 stars4 stars4 stars / 2
    2009-01-06

    Table of Contents:
  • Building a Three-Column Web Page Layout with DIV-Based CSS Tables
  • Review: a two-column liquid design with CSS tables
  • Building a three-column web page layout with CSS tables
  • Finishing the three-column web page layout

  • Rate this Article: Poor Best 
      ADD THIS ARTICLE TO:
      Del.ici.ous Digg
      Blink Simpy
      Google Spurl
      Y! MyWeb Furl
    Email Me Similar Content When Posted
    Add Developer Shed Article Feed To Your Site
    Email Article To Friend
    Print Version Of Article
    PDF Version Of Article
     
     
    ADVERTISEMENT


    Building a Three-Column Web Page Layout with DIV-Based CSS Tables - Review: a two-column liquid design with CSS tables


    (Page 2 of 4 )

    In case you haven’t had the chance to read the first tutorial of the series, where I explained how to build a two-column web page layout using CSS tables, now you have a good opportunity for studying the complete source code that corresponds to this particular example.

    In this case, the layout is composed of two main divs, identified as “sidebar” and “maincol” respectively. Thanks to the functionality of the “display” CSS property, these are rendered as cells of an HTML table.

    Now that I have clarified that concept, please take a look at the following code sample:


    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">

    <html xmlns="http://www.w3.org/1999/xhtml">

    <head>

    <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />

    <title>Example of div-based web page layout using CSS tables (2 columns)</title>

    <style type="text/css">

    body{

    padding: 0;

    margin: 0;

    background: #fff;

    }

    h2{

    margin: 0;

    font: bold 18px Arial, Helvetica, sans-serif;

    color: #000;

    }

    p{

    font: normal 12px Arial, Helvetica, sans-serif;

    color: #000;

    }

    #maincol, #sidebar{

    display: table-cell;

    }

    #tablewrapper{

    border-collapse: collapse;

    display: table;

    table-layout: fixed;

    }

    #sidebar{

    width: 20%;

    padding: 10px;

    background: #eee;

    }

    #maincol{

    width: 80%;

    padding: 10px;

    }

    </style>

    </head>

    <body>

    <div id="tablewrapper">

    <div id="sidebar">

    <h2>This is the left column of the web page</h2>

    <p>Contents for left column go here. Contents for left column go here. Contents for left column go here. Contents for left column go here. Contents for left column go here. Contents for left column go here. Contents for left column go here. Contents for left column go here. Contents for left column go here. Contents for left column go here.</p>

    </div>

    <div id="maincol">

    <h2>This is the center column of the web page</h2>

    <p>Contents for center column go here. Contents for center column go here. Contents for center column go here. Contents for center column go here. Contents for center column go here. Contents for center column go here. Contents for center column go here. Contents for center column go here. Contents for center column go here. Contents for center column go here.</p>

    <p>Contents for center column go here. Contents for center column go here. Contents for center column go here. Contents for center column go here. Contents for center column go here. Contents for center column go here. Contents for center column go here. Contents for center column go here. Contents for center column go here. Contents for center column go here.</p>

    <p>Contents for center column go here. Contents for center column go here. Contents for center column go here. Contents for center column go here. Contents for center column go here. Contents for center column go here. Contents for center column go here. Contents for center column go here. Contents for center column go here. Contents for center column go here.</p>

    </div>

    </div>

    </body>

    </html>


    As you can see, the above example demonstrates how to construct a basic two-column web page layout by using CSS tables. In this case, the “float” CSS property is used to specify that the respective sidebar and the main column that comprise the web document must be displayed as regular table cells.

    In addition, the divs are wrapped by a generic one, called “tablewrapper,” which is also rendered as a typical HTML table. Pretty simple to grasp and code, right?

    Now that you have a clearer idea of how to build a basic web page layout with CSS tables, I’m sure that you’ll agree with me that this approach is much more intuitive than using floating divs or negative margins.

    Of course, it’s fair to say that if you test the above example with Internet Explorer 7 and below, you’ll feel disappointed (yes, I’ve heard that before), since the layout will be broken. Instead, when using Firefox, you’ll get an output similar to the one depicted by the image below:



    So far, so good. At this moment, you have hopefully recalled the full details on using CSS tables to build a primitive two-column web page layout. Therefore, the next thing I’m going to teach you will be how to use the tables for constructing a layout comprised of three main containers.

    To learn how this brand new example will be developed, please visit the following section. It’s only one click away.

    More Style Sheets Articles
    More By Alejandro Gervasio


       · Over the first part of this series, I provided a quick introduction to using...
     

    STYLE SHEETS ARTICLES

    - Using a Background Grid to Assist Web Page L...
    - Extending the Rule Of Thirds for Web Page La...
    - A Two-Column Web Page Layout Based on the Ru...
    - Using the Rule Of Thirds for Web Page Layout
    - Swapping Columns Using the Divine Ratio for ...
    - Using the Golden Ratio in Liquid Web Page De...
    - Fundamental Design Principles for Web Page L...
    - Pulling Web Page Elements with the Blueprint...
    - Pushing Web Page Columns with the Blueprint ...
    - Controlling Column Padding with the Blueprin...
    - Prepending Classes in the Blueprint CSS Fram...
    - Appending Grid Units with the Blueprint CSS ...
    - Changing Grid Units in the Blueprint CSS Fra...
    - The Blueprint CSS Framework
    - Building a Liquid Design with Evened Margins...







    © 2003-2009 by Developer Shed. All rights reserved. DS Cluster 4 Hosted by Hostway
    Stay green...Green IT