• Web Design
    HTML Resources:
    HTML Code Tutorial:
    Code generator:  

    ACA test prep link:    click here!!!

    Web Button:
    button example  
    web design  
    digital media

    This is a short introduction to writing HTML. What is HTML? It is a special kind of text document that is used by Web browsers to present text and graphics. The text includes markup tags such as <p> to indicate the start of a paragraph, and </p> to indicate the end of a paragraph. HTML documents are often refered to as "Web pages". The browser retrieves Web pages from Web servers that thanks to the Internet, can be pretty much anywhere in World.

    Many people still write HTML by hand using tools such as NotePad on Windows, or TextEdit on the Mac. This guide will get you up and running. Even if you don't intend to edit HTML directly and instead plan to use an HTML editor such as Netscape Composer, or W3C's Amaya, this guide will enable you to understand enough to make better use of such tools and how to make your HTML documents accessible on a wide range of browsers. Once you are comfortable with the basics of authoring HTML, you may want to learn how to add a touch of style using CSS, and to go on to try out features covered in my page on advanced HTML

    p.s. a good way to learn is to look at how other people have coded their html pages. To do this, click on the "View" menu and then on "Source". On some browsers, you instead need to click on the "File" menu and then on "View Source". Try it with this page to see how I have applied the ideas I explain below. You will find yourself developing a critical eye as many pages look rather a mess under the hood!

    For Mac users, before you can save a file with the ".html" extension, you will need to ensure that your document is formatted as plain text. For TextEdit, you can set this with the "Format" menu's "Make Plain Text" option.

    This page will teach you how to:

    • start with a title
    • add headings and paragraphs
    • add emphasis to your text
    • add images
    • add links to other pages
    • use various kinds of lists

    If you are looking for something else, try the advanced HTML page.

    Every HTML document needs a title. Here is what you need to type:

    <title>My first HTML document</title>

    Change the text from "My first HTML document" to suit your own needs. The title text is preceded by the start tag <title> and ends with the matching end tag </title>. The title should be placed at the beginning of your document.

    To try this out, type the above into a text editor and save the file as "test.html", then view the file in a web browser. If the file extension is ".html" or ".htm" then the browser will recognize it as HTML. Most browsers show the title in the window caption bar. With just a title, the browser will show a blank page. Don't worry. The next section will show how to add displayable content.

    If you have used Microsoft Word, you will be familiar with the built in styles for headings of differing importance. In HTML there are six levels of headings. H1 is the most important, H2 is slightly less important, and so on down to H6, the least important.

    Here is how to add an important heading:

    <h1>An important heading</h1>

    and here is a slightly less important heading:

    <h2>A slightly less important heading</h2>

    Each paragraph you write should start with a <p> tag. The </p> is optional, unlike the end tags for elements like headings. For example:

    <p>This is the first paragraph.</p>  <p>This is the second paragraph.</p>

    You can emphasize one or more words with the <em> tag, for instance:

    This is a really <em>interesting</em> topic!

    Images can be used to make your Web pages distinctive and greatly help to get your message across. The simple way to add an image is using the <img> tag. Let's assume you have an image file called "peter.jpg" in the same folder/directory as your HTML file. It is 200 pixels wide by 150 pixels high.

    <img src="peter.jpg" width="200" height="150">

    The src attribute names the image file. The width and height aren't strictly necessary but help to speed the display of your Web page. Something is still missing! People who can't see the image need a description they can read in its absence. You can add a short description as follows:

    <img src="peter.jpg" width="200" height="150" alt="My friend Peter">

    The alt attribute is used to give the short description, in this case "My friend Peter". For complex images, you may need to also give a longer description. Assuming this has been written in the file "peter.html", you can add one as follows using the longdesc attribute:

    <img src="peter.jpg" width="200" height="150" alt="My friend Peter" longdesc="peter.html">

    You can create images in a number of ways, for instance with a digital camera, by scanning an image in, or creating one with a painting or drawing program. Most browsers understand GIF and JPEG image formats, newer browsers also understand the PNG image format. To avoid long delays while the image is downloaded over the network, you should avoid using large image files.

    Generally speaking, JPEG is best for photographs and other smoothly varying images, while GIF and PNG are good for graphics art involving flat areas of color, lines and text. All three formats support options for progressive rendering where a crude version of the image is sent first and progressively refined.

    What makes the Web so effective is the ability to define links from one page to another, and to follow links at the click of a button. A single click can take you right across the world!

    Links are defined with the <a> tag. Lets define a link to the page defined in the file "peter.html" in the same folder/directory as the HTML file you are editing:

    This a link to <a href="peter.html">Peter's page</a>.

    The text between the <a> and the </a> is used as the caption for the link. It is common for the caption to be in blue underlined text.

    If the file you are linking to is in a parent folder/directory, you need to put "../" in front of it, for instance:

    <a href="../mary.html">Mary's page</a>

    If the file you are linking to is in a subdirectory, you need to put the name of the subdirectory followed by a "/" in front of it, for instance:

    <a href="friends/sue.html">Sue's page</a>

    The use of relative paths allows you to link to a file by walking up and down the tree of directories as needed, for instance:

    <a href="../college/friends/john.html">John's page</a>

    Which first looks in the parent directory for another directory called "college", and then at a subdirectory of that named "friends" for a file called "john.html".

    To link to a page on another Web site you need to give the full Web address (commonly called a URL), for instance to link to www.w3.org you need to write:

    This is a link to <a href="http://www.w3.org/">W3C</a>.

    You can turn an image into a hypertext link, for example, the following allows you to click on the company logo to get to the home page:

    <a href="/"><img src="logo.gif" alt="home page"></a>

    This uses "/" to refer to the root of the directory tree, i.e. the home page.

    HTML supports three kinds of lists. The first kind is a bulletted list, often called an unordered list. It uses the <ul> and <li> tags, for instance:

    <ul>   <li>the first list item</li>    <li>the second list item</li>    <li>the third list item</li> </ul>

    Note that you always need to end the list with the </ul> end tag, but that the </li> is optional and can be left off. The second kind of list is a numbered list, often called anordered list. It uses the <ol> and <li> tags. For instance:

    <ol>   <li>the first list item</li>    <li>the second list item</li>    <li>the third list item</li> </ol>

    Like bulletted lists, you always need to end the list with the </ol> end tag, but the </li> end tag is optional and can be left off.

    The third and final kind of list is the definition list. This allows you to list terms and their definitions. This kind of list starts with a <dl> tag and ends with </dl> Each term starts with a <dt> tag and each definition starts with a <dd>. For instance:

    <dl>   <dt>the first term</dt>   <dd>its definition</dd>    <dt>the second term</dt>   <dd>its definition</dd>    <dt>the third term</dt>   <dd>its definition</dd> </dl>

    The end tags </dt> and </dd> are optional and can be left off. Note that lists can be nested, one within another. For instance:

    <ol>   <li>the first list item</li>    <li>     the second list item     <ul>       <li>first nested item</li>       <li>second nested item</li>     </ul>   </li>    <li>the third list item</li> </ol>

    You can also make use of paragraphs and headings etc. for longer list items.

    If you use your web browser's view source feature (see the View or File menus) you can see the structure of HTML pages. The document generally starts with a declaration of which version of HTML has been used, and is then followed by an <html> tag followed by <head> and at the very end by </html>. The <html> ... </html> acts like a container for the document. The <head> ... </head> contains the title, and information on style sheets and scripts, while the <body> ... </body> contains the markup with the visible content. Here is a template you can copy and paste into your text editor for creating your own pages:

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"     
    "http://www.w3.org/TR/html4/loose.dtd"> <html> <head>   
    <title> replace with your document's title </title> </head> 
    <body>  replace with your document's content  </body> </html> 

    1. What is HTML anyway?

    HTML stands for HyperText Markup Language. Developed by scientist Tim Berners-Lee in 1990, HTML is the "hidden" code that helps us communicate with others on the World Wide Web (WWW).

    When writing HTML, you add "tags" to the text in order to create the structure. These tags tell the browser how to display the text or graphics in the document. For example, the following document has a simple layout (structure). Notice there are three major parts: a heading, two paragraphs and a bulleted list.

    head.jpg (1034 bytes)
    Why I like to go swimming in the summer. 

    paragraph.jpg (1406 bytes)
    Swimming is my most favorite activity in the summer. When the sun is shining and the air is warm, you will find me dipping into my backyard pool. It’s not an impressive pool, only three feet deep, but it’s mine.

    paragraph.jpg (1406 bytes)
    There are three reasons I like to swim:

    list.jpg (1101 bytes)

    • I get lots of exercise 
    • I enjoy the freedom
    • I have an opportunity to be in the sun.

    To achieve a similar layout in a WWW browser, you need to add tags. Here is the same document with HTML tags (red) added:


    <title>Why I like to go swimming</title>

    head.jpg (1034 bytes)
    <h1> Why I like to go swimming in the summer. </h1>

    paragraph.jpg (1406 bytes)
    <p> Swimming is my most favorite activity in the summer. When the sun is shining and the air is warm, you will find me dipping into my backyard pool. It’s not an impressive pool, only three feet deep, but it’s mine.</p>

    paragraph.jpg (1406 bytes)
    <p>There are three reasons I like to swim:</p>

    list.jpg (1404 bytes)
    <li>I get lots of exercise</li>
    <li>I enjoy the freedom</li> 
    <li>I have an opportunity to be in the sun.</li>

    Basic Concepts

    The tools you need 
    Fortunately, HTML is written in plain text. That means you don’t need any fancy software programs like a word processor to create your HTML files. All you need is a simple text-editor that’s already on your system. For MACs, that would be SimpleText and for Windows,Notepad.

    Some rules 
    As with most things in life, there are rules. In HTML, the rules are fairly simple. For starters, HTML tags are always surrounded by what are called angle brackets < and >. You’ll find these brackets on your keyboard just above the comma and period.

    The words/letters between these two angle brackets are called elements. These are the coded commands within HTML. Elements tell the browser how to display the web page. For example: <hr> tells the browser to display a horizontal rule; <br> tells the browser to skip a line.

    Container and empty tags
    There are two kinds of tags: container and empty.

    The container tag always wraps around text or graphics and comes in a set with an opening and a closing:

    <html> opening tag
    </html> closing tag

    Notice the forward slash (/) on the closing tag. This tells the browser that the tag has ended.

    On the other hand, the empty tag stands alone. The tag <br> is one that adds a line break. Empty tags do not have to be wrapped around copy and do not require a closing.

    Case sensitive 
    HTML is also not case sensitive. That means, you can use either lowercase or uppercase. <HTML> is the same as <html>. For consistency, use either one or the other. It's best not to mix and match. For our purposes, I have written our code in lowercase.

    HTML structure. 
    All HTML documents are divided into two main parts: the head and the body. It goes something like this:

    table.jpg (11728 bytes)

    You must have the <html>, <head> and <body> container tags in every HTML file.
    The <html>  tag tells the browser that this is an HTML document.  You must begin and end your files with this tag. The <head> tag contains general information like the title of your document. The <body> tag holds all your content: words, pictures, artwork and other stuff.

    Part of the web page structure is called nesting. Notice how the tag <title> is nested inside the <head> tag, while <head> and <body> are nested inside <html>.

    Each new set of tags are nested inside other tags, just like those Russian dolls, Matryoshka. Think of it another way, like smaller boxes inside larger boxes.

    3. Primary Tags

    To build any web page you will need four primary tags: <html>, <head>, <title> and <body>. These are all container tags and must appear as pairs with a beginning and an ending.


    Every HTML document begins and ends with the <html> tag. This tells the browser that the following document is an html file. Remember, tags tell the browsers how to display information.


    The <head> tag contains the title of the document along with general information about the file, like the author, copyright, keywords and/or a description of what appears on the page.


    Appears within the <head> tag and gives the title of the page. Try to make your titles descriptive, but not more than 20 words in length. The title appears at the very top of the browser page on the title bar.


    The main content of your page is placed within the body tags: your text, images, links, tables and so on.


    Step 1 Open up a text editor (SimpleText for Mac or Notepad for Windows)

    Step 2 Enter the following:

    <title> This is my first web page</title>
    Hello world. This is my first web page. There's more to come.

    Step 3 Save the document as: firstpage.html
    Your file can be saved as either an htm or html file. Remember to save your document on the computer in a place that you can find it again. 

    Step 4 To preview your new document, open Netscape Navigator. On the tool bar (located up near the top of the browser):

    Select File menu.
    Select Open Page
    A dialogue box appears. Select Choose File

    Go to where you saved your file, click on it. This will bring you back to the dialogue box, which should now be showing your file.

    Click Open


    After any length of time on the Internet, you’ll notice that a Web page is made up of more than just plain words on a screen. There are headlines, paragraphs, graphics, colors and much more. It’s a lively place to be.

    Our next tags--headline, paragraph, line break and horizontal rule--will help us make our current page a lot more exciting. Let’s learn how.

    Headline tag
    In HTML, bold copy is created by using the headline tag. There are six levels of headlines, ranging from <h1>…</h1> to <h6>…</h6>. Here is an example of the code for all the headline sizes:

    <h1>Level 1 Headline</h1>
    <h2>Level 2 Headline</h2>
    <h3>Level 3 Headline</h3>
    <h4>Level 4 Headline</h4>
    <h5>Level 5 Headline</h5>
    <h6>Level 6 Headline</h6>

    And here is how each level looks in a browser.

    Let’s add a headline to our Web page document.

    Step 1 Load your text editor and open your file: firstpage.html This is what you should see:

    <title>This is my first web page.</title> 
    Hello world. This is my first web page. There's more to come.

    Step 2 Add the <h1> tag to the words "Hello world." as shown in red.

    <title>This is my first web page.</title> 
    <h1>Hello world.</h1> This is my first web page. There's more to come.

    Step 3 Save the file

    Step 4 Open up Netscape Navigator.

    Go to File menu
    Select Open Page
    A dialogue box appears. 
    Select Choose File

    Go to where you saved your file, click on it. This will bring you back to the dialogue box, which should now be showing your file.

    Click Open

     Your new page should look like in your browser.

    Paragraphs & Line Breaks
    To add space between paragraphs you use the paragraph tag:


    This is a container tag and must have a beginning and an ending.

    To add a single line of space, you use break tag:


    This is an empty tag and stands alone. You can use the <br> tag to insert one or more blank lines.

    Horizontal Rule
    To create a horizontal line on your page you use the empty tag:


    Step 1 Load your text editor.

     Step 2 Open the file: firstpage.html. Your code should look like this:

    <title>This is my first web page.</title> 
    <h1>Hello world.</h1> This is my first web page. There's more to come.

    Let's add some more text so that we can use the new tags that we have learned. Add tags and text that appear in red.

    <title>This is my first web page.</title> 
    <h1>Hello world.</h1> This is my first web page. There's more to come.

    I am learning how to use the horizontal rule, headline, paragraph and line break tags. Writing HTML isn't as hard as it appears.

    <p>Here's a list of items I like about school:<br>
    But most of all--recess!<br>


    How to Make a Webpage: 

    Full Web Building Tutorials: http://www.w3schools.com/ 
    The Web Book (free): http://www.the-web-book.com/index.php 
    Beginner's HTML Tutorial: http://www.htmlbasix.com/ 
    How to Create a Webpage: http://www.make-a-web-site.com/ 
    So You Want To Set Up Your First Site, Huh?: http://www.htmlgoodies.com/tutorials/ge ... hp/3479561 

    How to Start / Create Your Own Website: The Beginner's A-Z Guide:http://www.thesitewizard.com/gettingsta ... site.shtml 
    So, you want to make a Web Page!: http://www.pagetutor.com/html_tutor/index.html 
    Getting started with HTML: http://www.w3.org/MarkUp/Guide/ 
    Creating your first website – Part 1: Setting up your site and project files (Adobe CS3/4): 

    http://www.adobe.com/devnet/dreamweaver ... e_pt1.html 

    Generating Colors in HTML


    The color samples in the tables below are not images; they are generated by the HTML of this page.

    Colors can be produced for a number of page elements using the color names or RGB hexadecimal codes indicated in each of the samples.The use of HTML elements and attributes for specifying color is deprecated. You are encouraged to use css instead.

    Of interest to UT Web authors/designers: the Brand Identity Primary Colors shows #CC5500 as offical "UT burnt orange." It may not appear so on your screen; the wide disparity in color calibration among computer monitors makes it difficult to predict how accurately color will be rendered across the Web. It is best simply to specify the appropriate color and not worry too much how the result will appear on a given monitor (including your own!). In the future, support for the sRGB (Standard Default color Space for the Internet) and ICC color profiles should reduce this problem.

    Named Colors

    These 16 colors can be specified by name in HTML 4. The color names are case sensitive. So, for example, you could use either "#000000" or "Black" to refer to the color black.

    Name Aqua Black Blue Fuchsia Gray Green Lime Maroon
    RGB #00FFFF #000000 #0000FF #FF00FF #808080 #008000 #00FF00 #800000


    Name Navy Olive Purple Red Silver Teal White Yellow
    RGB #000080 #808000 #800080 #FF0000 #C0C0C0 #008080 #FFFFFF #FFFF00

    RGB Hexadecimal Coded Colors

    Colors may also be specified by six-character codes representing their relative red/green/blue (RGB) values, where the possible values for each color component are 00 to FF. 00 represent the least amount of the color present and FF represents the most of that color present. The first two bytes indicate the amount of red, the second two bytes represent the amount of green and the last two bytes represent the amount of blue.

    Hex Value
    Red Green Blue
    00 00 00

    Here are some simple examples:

    • Red = #FF0000
    • Green = #00FF00
    • Blue = #0000FF
    • Cyan (blue and green) = #00FFFF
    • Magenta (red and blue) = #FF00FF
    • Yellow (red and green) = #FFFF00

    The number of possible colors represented by this system is 256 * 256 * 256 = 16.777,216

    The six charts below display the 216 possible colors in the Netscape/MSIE palette with their hexadecimal RGB codes (aseventh chart displays the gray scale). In each chart the blue value is constant, the vertical axis represents increasing red values, and the horizontal axis represents increasing green values.

    The six charts can be visualized as a cube composed of 216 cubelets; the total cube has six layers of thirty-six cubelets; each cubelet is a unique color. Using this metaphor, black (#000000) in the lower left of the first chart is one corner of the cube and white (#ffffff) in the upper right of the last chart is the opposite corner of the cube; the cubelets running through the body of the cube in a line from black to white comprise the gray scale.

    1 of 6

    where blue=00
    where red= FF FF0000 Red

    FF3300 Red(Orange)

    ff6600 ff9900 FFCC00 Gold FFFF00 Yellow
    cc cc0000 cc3300 cc6600 cc9900 cccc00 ccff00
    99 990000 993300 996600 999900 99cc00 99ff00
    66 660000 663300 666600 669900 66cc00 66ff00
    33 330000 333300 336600 339900 33cc00 33ff00
    00 000000 Black 003300 006600 009900 00cc00 00FF00 Lime
      00 33 66 99 cc FF
      where green=

    2 of 6

    where blue=33
    where red= ff ff0033 ff3333 ff6633 ff9933 ffcc33 ffff33
    cc cc0033 cc3333 cc6633 cc9933 cccc33 ccff33
    99 990033 993333 996633 999933 99cc33 99ff33
    66 660033 663333 666633 669933 66cc33 66ff33
    33 330033 333333 336633 339933 33cc33 33ff33
    00 000033 003333 006633 009933 00cc33 00ff33
      00 33 66 99 cc ff
      where green=

    3 of 6

    where blue=66
    where red= ff ff0066 ff3366 ff6666 ff9966 ffcc66 ffff66
    cc cc0066 cc3366 cc6666 cc9966 cccc66 ccff66
    99 990066 993366 996666 999966 99cc66 99ff66
    66 660066 663366 666666 669966 66cc66 66ff66
    33 330066 333366 336666 339966 33cc66 33ff66
    00 000066 003366 006666 009966 00cc66 00ff66
      00 33 66 99 cc ff
      where green=

    4 of 6

    where blue=99
    where red= ff ff0099 ff3399 ff6699 ff9999 ffcc99 ffff99
    cc cc0099 cc3399 cc6699 cc9999 cccc99 ccff99
    99 990099 993399 996699 999999 99cc99 99ff99
    66 660099 663399 666699 669999 66cc99 66ff99
    33 330099 333399 336699 339999 33cc99 33ff99
    00 000099 003399 006699 009999 00cc99 00ff99
      00 33 66 99 cc ff
      where green=

    5 of 6

    where blue=cc
    where red= ff ff00cc ff33cc ff66cc ff99cc ffcccc ffffcc
    cc cc00cc cc33cc cc66cc cc99cc cccccc ccffcc
    99 9900cc 9933cc 9966cc 9999cc 99cccc 99ffcc
    66 6600cc 6633cc 6666cc 6699cc 66cccc 66ffcc
    33 3300cc 3333cc 3366cc 3399cc 33cccc 33ffcc
    00 0000cc 0033cc 0066cc 0099cc 00cccc 00ffcc
      00 33 66 99 cc ff
      where green=

    6 of 6

    where blue=ff
    where red= ff ff00ff ff33ff ff66ff ff99ff ffccff ffffff
    cc cc00ff cc33ff cc66ff cc99ff ccccff ccffff
    99 9900ff 9933ff 9966ff 9999ff 99ccff 99ffff
    66 6600ff 6633ff 6666ff 6699ff 66ccff 66ffff
    33 3300ff 3333ff 3366ff 3399ff 33ccff 33ffff
    00 0000ff 0033ff 0066ff 0099ff 00ccff 00ffff Aqua
      00 33 66 99 cc ff
      where green=

    Hexadecimal Gray Scale
    000000 Black 333333 666666 999999 cccccc ffffff White

    HTML Attributes to Specify Color

    If one of the following  <BODY> attributes is used, they all should be specified in order to avoid color conflicts; for example, you may assign a backgound color and a visitor may have his/her browser set to display text in the same color, making your page unreadable. All these attributes should be specified in a single  <BODY> tag.

    <BODY BGCOLOR="#ff6600">
    sets the background color for the page as a whole. 
    <BODY TEXT="#ff6600">
    sets the text color for the page as a whole. 
    <BODY LINK="#ff6600">
    sets the unvisited link color for the page as a whole. 
    <BODY VLINK="#ff6600">
    sets the visited link color for the page as a whole. 
    <BODY ALINK="#ff6600">
    sets the activated link color (i.e. the color of the link as users click on it) for the page as a whole.
    <FONT COLOR="#cc6600">sample text</FONT>
    sets the color of selected text within a page.

    Although the following attributes are not included in the HTML 3.2 specification for  <TABLE><TH>, and  <TD> elements, they are included in the HTML 4.0 proposal and have been supported by Netscape since version 3.0 and by Internet Explorer since version 2.0.

    <TABLE BGCOLOR="#ff6600">
    sets the background color for an entire table. 
    <TH BGCOLOR="#ff6600">
    sets the background color for one header cell within a table. 
    <TD BGCOLOR="#ff6600">
    sets the background color for one data cell within a table.
    CSS Tutorials: 


    http://www.htmlcodetutorial.com/charact ... p_193.html 

    Tableless Web Design: http://en.wikipedia.org/wiki/Tableless_web_design 
    Images, Tables, and Mysterious Gaps: https://developer.mozilla.org/en/Images ... rious_Gaps 

    Web-Based Tools for Optimizing, Formatting and Checking CSS:http://sixrevisions.com/css/css_code_op ... alidation/ 

    Free HTML Editors, Web Editors, and WYSIWYG Web Editors and Site Builders: 
    http://www.thefreecountry.com/webmaster ... tmleditors 
    HTML Editor Reviews - http://www.wdvl.com/Reviews/HTML/ 
    Free Online Editor Tool: http://htmledit.squarefree.com/ 
    Free Flash Website Builder (Online): http://www.wix.com/ 
    PageBreeze (Free visual (WYSIWYG) and HTML tag/source modes):http://www.pagebreeze.com/ 

    Notepad++ (Free source code editor and Notepad replacement that supports several languages): http://notepad-plus.sourceforge.net/uk/site.htm 
    Serif WebPlus SE: http://myrtc.blogspot.com/2009/08/revie ... us-se.html 
    Why Validate?: http://validator.w3.org/docs/why.html 

    Download Trellian WebPage (Free): http://www.trellian.com/webpage/download.htm 
    WebSketch: http://www.websketch.com/ 

    Create a free website with Jimdo!: http://www.jimdo.com/ 
    How to Do Templates: 

    How to Download and Edit a Template Video Tutorial:http://www.clantemplates.com/video/How_ ... _Edit.html 

    How to Make a New Page Video Tutorial: http://www.clantemplates.com/video/CT_H ... _Page.html 

    How to Upload Your Template Video Tutorial: http://www.clantemplates.com/video/CT_H ... pload.html 
    Free web site sources: 

    Budget Web Hosting List (2 pages):http://www.thefreecountry.com/webhosting/budget1.shtml