Perché i tag <div> vanno dove vogliono loro?

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<meta name = author content = "Marco Rossi" />
<meta http-equiv = reply-to content="webmaster@cipenserò.com" />
<meta name = copyright content = "ci penserò" />
<meta name = description content = "ci penserò" />
<meta name = "keywords" content = "sesso mp3... hihihi..." />
<title>ci penserò</title>
<style type="text/css">
div#div01 {
width:980px;
height:30px;
padding:0px;
margin:0px auto;
border-width:0px;
border-style:solid;
border-color:white;
background-color:blue;
}
div#div02 {
float:left;
width:30px;
height:100px;
padding:0px;
margin:0px;
border-width:0px;
border-style:solid;
border-color:white;
background-color:green;
}
div#div03 {
float:middle;
width:920px;
height:100px;
padding:0px;
margin:0px auto;
border-width:0px;
border-style:solid;
border-color:white;
background-color:black;
}
div#div04 {
float:right;
width:30px;
height:100px;
margin:0px;
border-width:0px;
border-style:solid;
border-color:white;
background-color:red;
}
</style>
</head>
<body>
<div id="div01"></div>
<div id="div02"></div>
<div id="div03"></div>
<div id="div04"></div>
</body>
</html>