标题,基本上。我一直在使用边距定位而不是像 position: relative
这样的东西来做我的很多工作,只是因为我不知道你可以那样控制它。
margin
应该做什么,为什么我应该在 margin
完成工作时使用 position
?
最佳答案
简而言之,边距在元素框周围增加空间,并修改页面流中为其保留的空间量以匹配。因此,顶部边距向下移动一个 block ,同时也向下移动跟随它的所有内容。底部边距将跟随它的内容向下移动,同时将 block 本身留在同一位置。这非常直观,并且可能完全符合您的预期。
相对定位做了一些奇怪的事情:它改变了 block 被绘制的位置,但没有为它保留的空间。因此,如果您使用相对定位并将顶部设置为 10px,则一个框将在页面下方移动 10px——但它之后的内容不会移动。这可能会导致框与其后的内容重叠。
如果您真的想要一个奇怪的效果(并查看相对定位的实际效果),请将 float: left 和相对定位应用于一个小块。该 block 将被移动,但为其预留的区域将保留在其原始位置。
我给你举了个例子:
<div style="position: relative; left: -100px; width: 100px; height: 100px; float: left;">
</div> (lorem ipsum text)
关于css - 为什么不用margin定位,而是用position :relative top 5px?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16050924/