这是标记:
<div>
<a href="google.com">my link</a>
<span>Testing content.</span>
</div>
并且CSS:
div > * {
float: left;
margin-top: -50px;
}
div{
margin-top:200px;
}
注意:div仅用于演示目的,将所有内容下移以便我们可以看到它们。
如果我为margin-top使用正值,例如50px,则a和span都向下推动50像素,不重叠。
如果我为margin-top使用负值,例如-50px,则两者都向上拉50px,但它们也重叠在一起。
为什么会发生这种情况,如何防止它?
编辑,更多信息:
- 不幸的是,我不能将a或span放在包装器中。 - 我需要保留浮动,因为我需要重新组织流程。 - 我需要将a和span向上推。
还有一个fiddle: http://jsfiddle.net/xsSVX/
50px
,你会看到浮动元素被推下来,不再重叠。在我的情况下,我只需要能够使用负外边距而不让这两个浮动元素重叠,或者以某种方式将它们向上推动,而不依赖于一个包裹元素。 - F21