You shouldn't use tables for layout purposes. Here's a beginning, using different techniques (float and relative+absolute positioning) to position divs according to your design
/* left hand form area - subject & message */
form div.left
{
float: left;
width: 400px;
border: 1px solid red;
}
/* right hand form area - contact information */
form div.right
{
float: left;
width: 600px;
border: 1px solid blue;
}
/* "rows" */
form > div > div
{
padding: 6px 4px;
min-height: 18px;
}
/* not the first row */
form > div > div + div
{
clear: left;
}
/* first cell */
form > div > div > div.inputlabel
{
float: left;
width: 120px;
font-weight: bold;
}
/* second cell */
form > div > div > div + div.input, form > div > div > div + div.inputlabel
{
float: left;
width: 220px;
position: static;
color: #666;
}
form > div > div.relative
{
position: relative;
}
/* input element, positioned in "second column", without preceeding div with label text */
form > div > div.relative > div.input
{
position: absolute;
left: 124px;
top: 0px;
width: 220px;
}
form > div > div.relative > div.input + div.input
{
position: absolute;
left: 344px;
top: 0px;
float: none;
}
form div.input input[type=text], form div.input textarea
{
width: 210px;
/* important! else you get different widths for input & textarea
in different browsers since they don't all have the same default border style
for both elements.
Wether you use groove or something else doesn't matter though. */
border-style: groove;
}
/* a small left margin for label following a radio input */
input[type=radio] + label
{
margin-left: 4px;
}
/* the next radio button should have a greater left margin to distance it from the previous label */
input[type=radio] + label + input[type=radio]
{
margin-left: 14px;
}
</style>
</head>
<body>
<form action="" method="post">
<div class="left">
<div>
<div class="inputlabel">Subject</div>
<div class="input"><input type="text" /></div>
</div>
<div>
<div class="inputlabel">Message</div>
<div class="input"><textarea rows="10" cols="25"></textarea></div>
<div style="clear: left; float: none;"></div>
</div>
</div>
<div class="right">
<div>
<div class="inputlabel">Business Email</div>
<div class="input"><input type="text" /></div>
</div>
<div>
<div class="inputlabel">Name</div>
<div class="inputlabel">First Name</div>
<div class="inputlabel">Second Name</div>
</div>
<div class="relative">
<div class="input"><input type="text" /></div>
<div class="input"><input type="text" /></div>
</div>
<div>
<div class="inputlabel">Sex</div>
<div class="input">
<input id="male" type="radio" /><label for="male">Male</label>
<input id="female" type="radio" /><label for="male">Female</label>
</div>
</div>
</div>
</form>