HTML Layouts

HTML Layouts

You may have noticed that many websites have multiple columns in their layout - they are formatted like a magazine or newspaper. Many websites achieved this HTML layout using tables.

HTML layout with tables

Tables have been a popular method for achieving advanced layouts in HTML. Generally, this involves putting the whole web page inside a big table. This table has a different column or row for each main section.

For example, the following HTML layout example is achieved using a table with 3 rows and 2 columns - but the header and footer column spans both columns (using the colspan attribute):

This HTML code...

<table width="400px" border="0">

  <tr>
    <td colspan="2" style="background-color:yellow;">
      Header
    </td>
  </tr>
  <tr>
    <td style="background-color:orange;width:100px;text-align:top;">

      Left menu<br />
      Item 1<br />
      Item 2<br />
      Item 3...
    </td>
    <td style="background-color:#eeeeee;height:200px;width:300px;text-align:top;">

      Main body
    </td>
  </tr>
  <tr>
    <td colspan="2" style="background-color:yellow;">
      Footer
    </td>

  </tr>
</table>

produces this layout...

Header
Left menu
Item 1
Item 2
Item 3...
Main body
Footer

HTML layout with DIV, SPAN and CSS

Although we can achieve pretty nice layouts with HTML tables, tables weren't really designed as a layout tool. Tables are more suited to presenting tabular data.

The div element is a block level element used for grouping HTML elements. Once grouped, formatting can be applied to the div element and everything contained within it. While the div tag is a block-level element, the HTML span element is used for grouping elements at an inline level.

Using our previous HTML layout, we can use DIV and CSS to achieve a similar effect. The following code...

<div style="width:400px">

  <div style="background-color:yellow">
    Header
  </div>
  <div style="background-color:orange;height:200px;width:100px;float:left;">
    Left menu<br />
    Item 1<br />

    Item 2<br />
    Item 3...
  </div>
  <div style="background-color:#eeeeee;height:200px;width:300px;float:right;">
    Main body
  </div>
  <div style="background-color:yellow;clear:both">

    Footer
  </div>
</div>

produces this layout...

Header
Left menu
Item 1
Item 2
Item 3...
Main body
Footer

One change to this that I'd recommend is that you place the CSS into an external style sheet.

One major benefit of using CSS is that, if you place your CSS in a separate location (i.e. an external style sheet), your site becomes much easier to maintain.

Advanced Layouts

As you build more websites you'll be able to develop more advanced layouts.

Because advanced layouts take time to create, a quicker option is to use a template. Web templates are basically a pre-built website that enables you to customize as required. To see what I mean, check out these free website templates.

Clock
 
Zain Merchant's Elance
 
Shoutbox
 
Online Users
 
รับพนันกีฬา
 
https://sportbettingthailand.wordpress.com/
 
Total Number Of Hits: 162069 visitors (736449 hits) Since 19th/November/2008
cy)dots.com This website was created for free with Own-Free-Website.com. Would you also like to have your own website?
Sign up for free