Welcome to one of the most frustrating attributes in HTML. Because of limitations in Netscape,
The problem lies in the fact that browsers don't count
<TABLE BORDER> <TR> <TD WIDTH=200>watermelon</TD> <TD WIDTH=400>Georgia</TD> </TR> <TR> <TD>apples</TD> <TD>Washington</TD> </TR> <TR> <TD>blueberries</TD> <TD>New Hampshire</TD> </TR> </TABLE>
which gives us
You can also use percentages. Be sure to enclose percents in quotes. For example, this code creates a table where the columns should be 80% and 20% wide
<TABLE BORDER> <TR> <TD WIDTH="80%">watermelon</TD> <TD WIDTH="20%">Georgia</TD> </TR> <TR> <TD>apples</TD> <TD>Washington</TD> </TR> <TR> <TD>blueberries</TD> <TD>New Hampshire</TD> </TR> </TABLE>
which gives us
The concept seems simple enough. Unfortunately, until recent versions of Netscape, you had to explicitly set the width of every column in the table or the browser would disregard all width settings. This means that you can't just set the left column to fit the width of your buttons or background graphic and let the rest of the table fill the remaining width. This is why you'll often see pages where everything is crowded into the left 640 pixels and there's a wide empty space on the right.
Netscape also still has problems with percentage widths. The example above still doesn't work as expected in Netscape... the actual rendered widths are not 80% and 20%.
So how does a web designer work around these problems? There are two school of thought: