CSS里的margin和position:relative 属性有什么区别啊!

CSS里的margin和position:relative 属性有什么区别啊!

原来是这样的。

如果这里对黄色那个div用相对定位和margin的话,效果看起来是一样的。


但如果给第一个蓝色的div设置margin的话,我们看到第二个黄色的被推往下面推了。

而如果用相对定位的话是不会影响到其它元素的。

也许这就是他们之间的最大区别。


话说回来,如果不会影响其它元素的时候,我还是比较喜欢用margin的。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2010-04-01
前者是绝对定位,相对于边框与边框,层与层之间;
后者是相对定位,相对于其正常位置进行定位。因此,"left:20" 会向元素的 LEFT 位置添加 20 像素。
第2个回答  2012-04-24

先看看这个网址http://www.pqshow.com/design/htmlcss/12653.html,在这篇文章中作者对position的absolute属性和relative属性之间的区别说得相当清楚。在看看下面这个:

<style type="text/css">

body

{

margin:0;

padding:0;

}

#container

{

width:100px;

height:200px;

border:#F00 solid;

}

#box1

{

width:50px;

height:50px;

border:#000 solid;

position:relative;  /*注意这里*/

top:10px;

}

#box2

{

width:50px;

height:50px;

border:#00F solid;

}

</style>

<body>

<div id="container">

<div id="box1"></div>

<div id="box2"></div>

</div>

</body>

结果如下图:

第3个回答  2012-06-16
margin 和 position:relative
最大的问题 就是 用position:relative 完成的任务
用margin 也可以完成

两者有些不近相同
第4个回答  2010-04-01
position:relativey主要运用在大方面的布局,结构定位上,而且比较多和absolute搭配使用。平常的小边距之类的用margin来得方便。。margin定位较多和float搭配使用