html中关于position:relative的疑问

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="www.w3.org/1999/xhtml">
<head>
<title>CSS左图右文混排布局</title>
<meta http-equiv="content-Type" content="text/html;charset=gb2312">
<style type="text/css">
* {
margin:0;
padding:0;
}

#container {
width:300px;
height:96px;
margin:0 auto;
margin-top:10px;
padding-right:3px;
border:1px dotted #666;
position:relative;
}

#leftContent {
width:106px;
height:86px;
border:solid 1px black;
position:absolute;
top:4px;
left:4px;
}
</style>
</head>
<body>
<div id="container">
<div id="leftContent"></div>
</div>
</div>
</body>
</html>
如果是运行上面代码的话,结果如下

小方框在大方框里

但是如果删掉position:relative;的话,结果如下

小方框和大方框分离了。我没有搞懂为什么 ,大神赐教。

position:relative; 跟position:absolute; 前面是相对定位 后面这个是绝对定位

一般相对是放在父DIV 绝对是放在子DIV

绝对定位是浮动的一个层 你上面那个把父DIV的position:relative;给删了 那么子DIV的position:absolute; 就会走位

所以你要用到绝对定位 那么父DIV里面必须要有相对定位 这样防止不同分辨率的屏幕使绝对定位层走位

能理解吗?
温馨提示:答案为网友推荐,仅供参考
第1个回答  2015-01-21
position:relative;是相对定位,position:absolute;是绝对定位,有position:relative;的话,
<div id="leftContent"></div>这个div就是根据<div id="container">这个div来定位的,距离为离上边top:4px;离左边left:4px;,如果没有position:relative;的话,<div id="leftContent"></div>这个div就是根据<body>来定位的,所以就跑到做左边去了,<div id="container">而这个div又是设置了margin:0 auto;左右居中的,所以他们两个就分开了。
相似回答