Major newbie here -

I have a simple form that I wish to align. My problem is that the alignment works in some IE6 browsers and not others. Ditto IE7. IE6 on XP Pro. IE7 on XP Pro and Vista. (Didn't work on Vista). I took the CSS from Rachel Andrew's book. Also the trick with wrapping the controls in <div>. Here's the style4.css:

Code:
form div {
  clear: left;
  margin: 0;
  padding: 0;
  padding-top: 0.6em;
}

form div label {
  float: left;
  width: 25%;
}
and here's the page:

Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en" lang="en">
  <head>
    <title>Form Layout Test</title>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <link href="style4.css" rel="stylesheet" type="text/css" /> 
  </head>
  <body>
    <div id="content">
       <p>Please provide the following information:</p>
      <form method="post" action="register.html">
        <div>
          <label for="memberid">Member #:</label>
          <input type="text" name="memberid" id="memberid" />
        </div>
        <div>
          <label for="homezip">Home Zip Code:</label>
          <input type="text" name="homezip" id="homezip" />
        </div>
        <div>
          <label for="password1">Password:</label>
          <input type="password" name="password1" id="password1" />
        </div>
        <div>
          <label for="password2">Confirm Password:</label>
          <input type="password" name="password2" id="password2"  />
        </div>
        <div>
          <input type="submit" name="submitbtn" id="submitbtn" 
                 value = "Register" />
        </div>
      </form>
    </div>  
  </body>
</html>
I know I must be missing something very basic, I just have no idea what it might be.

Any help would be greatly appreciated.