我遇到了许多涉及负边距的布局技术,例如这个classic用于侧边栏定位。似乎这些技术可以很容易地应用于相对定位。
所以不要这样:
.sidebar {
margin-left:-600px;
}
一个人会这样做:
.sidebar {
position:relative;
left:-600px;
}
看起来相对定位甚至可能在垂直方向上更清洁, 因为利润率较高的操纵可能会受到利润率下降等影响。
一方面是否有任何优势,或者它们实际上是否相同?
谢谢 -
答案 0 :(得分:25)
我猜相对定位会将内容移到左边,但原始空间将被它占用,除非你使下一个元素相对。然而,在负边距的情况下,内容和原始空间都会发生变化。
答案 1 :(得分:7)
简单地说,相对定位会在视觉上移动相对元素的内容,而不会影响它在页面流中的位置。另一方面,边距相对于其自然位置推或拉元素,因此影响布局。
答案 2 :(得分:2)
位置属性和负边距都有用,没有人比另一个好。这取决于你想要做什么。当你想要将它们从左上方向右移动时,你不要相对或绝对地定位每个元素。假设你有一个简单的<p>
标签,你想要向左移动,你不给它一个位置属性只是为了移动它。保证金是正确的使用方法。保证金将影响您网站上其他元素的位置,因为位置将浮动而不会影响其他元素的定位。 position属性虽然可以在很多方面使用,但它主要用于使您的站点为ex的主要元素:示例,页眉,页脚,包装器,菜单,内容左,内容权限。