有关定位的问题哪个大神给指导下
<!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" />
<title>混合布局编程挑战</title>
<style type="text/css">
body{
margin:0;padding:0;background:#000;font-size:20px;
}
.top{
width:100%;height:100px;background:#ccc;
}
.main{
width:100%;height:500px;background:red;
}
.right{
height:500px;background:green;position:absolute;right:0px;left:210px;
}
.left{
width:200px;height:500px;background:blue;
float:left;
}
.foot{
width:100%;height:100px;background:orange;
}
</style>
</head>
<body>
<div class="top">top</div>
<div class="main">
<div class="right">right</div>
<div class="left">left</div>
</div>
<div class="foot">foot</div>
</body>
</html>
这里只给right设置了绝对定位,它上面的父元素都没有设置定位,它理应来说应该是相对于body绝对定位,但执行的结果是相对于父元素main绝对定位的,这个怎么解释