【发布时间】:2015-12-12 02:34:17
【问题描述】:
我有这三个要素:
现在,我的布局要求元素 .b(顺便说一句,如果它很重要,它们都是 html <section>s)在某种程度上叠加在元素 .a 上。所以我决定将position: relative 应用到它,然后使用top: -50px 推动它。
会发生什么:
我成功叠加了两个顶部元素,但现在我在.b 和.c 之间创建了一个不必要的50px 空间。 (它们应该粘在一起。)
我的第一个猜测是应用等效的margin-bottom: -50px,但这不起作用,由于某种原因我也不知道。
最终我通过使.b 成为.a 的孩子以迂回的方式解决了这个问题。这导致.a 溢出到.c 之上,但随后我对其应用了margin-bottom 的幻数,以便将.c 向下推。
当然,我对这个解决方案不满意,所以我在这里问。
什么是解决这个问题的最佳方法?
最好的方法我的意思是如果可能的话,我想避免:
- 创建附加的非语义标记
- 将相同的
top: -50px规则应用于页面上的所有后续元素 - 在我的 CSS 上使用任何类型的幻数。
我只是想在处理这个问题时学习最佳实践,因为我认为这将是一个我将来会遇到更多次的问题。
【问题讨论】:
-
只需删除
position: relative并改用margin-top: -50px即可:) -
什么。我是不是在思考。 (谢谢!)
标签: html css layout position css-position