This little short tutorial will show you how you can create css-based form, to see how this works, open your text editor like notepad.exe and copy and paste the following code:

<style type="text/css">

form {  /* set width in form, not fieldset (still takes up more room w/ fieldset width */
  font:100% verdana,arial,sans-serif;
  margin: 0;
  padding: 0;
  min-width: 500px;
  max-width: 600px;
  width: 560px;

form fieldset {
  / * clear: both; note that this clear causes inputs to break to left in ie5.x mac, commented out */
  border-color: #000;
  border-width: 1px;
  border-style: solid;
  padding: 10px;        /* padding in fieldset support spotty in IE */
  margin: 0;

form fieldset legend {
   font-size:1.1em; /* bump up legend font size, not too large or it'll overwrite border on left */
                       /* be careful with padding, it'll shift the nice offset on top of border  */

form label {
   display: block;  /* block float the labels to left column, set a width */
   float: left;
   width: 150px;
   padding: 0;
   margin: 5px 0 0; /* set top margin same as form input - textarea etc. elements */
   text-align: right;

form fieldset label:first-letter { /* use first-letter pseudo-class to underline accesskey, note that */
   text-decoration:underline;    /* Firefox 1.07 WIN and Explorer 5.2 Mac don't support first-letter */
                                    /* pseudo-class on legend elements, but do support it on label elements */
                                    /* we instead underline first letter on each label element and accesskey */
                                    /* each input. doing only legends would  lessens cognitive load */
                                   /* opera breaks after first letter underlined legends but not labels */

form input, form textarea {
   /* display: inline; inline display must not be set or will hide submit buttons in IE 5x mac */
   width:auto;      /* set width of form elements to auto-size, otherwise watch for wrap on resize */
   margin:5px 0 0 10px; /* set margin on left of form elements rather than right of
                              label aligns textarea better in IE */

form input#reset {
   margin-left:0px; /* set margin-left back to zero on reset button (set above) */

textarea { overflow: auto; }

form small {
   display: block;
   margin: 0 0 5px 160px; /* instructions/comments left margin set to align w/ right column inputs */
   padding: 1px 3px;
   font-size: 88%;

form .required{font-weight:bold;} /* uses class instead of div, more efficient */

form br {
   clear:left; /* setting clear on inputs didn't work consistently, so brs added for degrade */
function sf(){document.f.firstname.focus();}
<body onLoad=sf()>

<form action="#" method="post" name="f">
<p><b>Bold</b> fields are required. <u>U</u>nderlined letters are accesskeys.</p>
<legend>Personal Information</legend>
   <label for="firstname" accesskey="f">First name: </label>
      <input type="text" id="firstname" name="firstname" tabindex="1" value="" title="first name"><br>
   <label for="lastname" accesskey="l">Last name: </label>
      <input type="text" id="lastname" name="lastname" tabindex="2" title="last name"><br>
   <label for="email" class="required" accesskey="e">Email: </label>
      <input type="text" id="email" name="email" tabindex="3" title="email"><br>
      <small>Your email address is safe with us, until we're acquired.</small>
<label for="comments" accesskey="c">Comments: </label>
   <textarea name="comments" rows="3" cols="23" id="comments" tabindex="4" title="comments"></textarea><br>
<label for="kludge"></label>
   <input type="submit" value="Send" id="submit" tabindex="5"> <INPUT type="reset" id="reset" tabindex="6">

now save it as css-based.html and upload to your web page. if you dont have hosting yet, you can buy a hosting plan at

when you open the file, you will see the form, css makes this type of forms look very neat and clean.