【发布时间】:2021-12-24 09:06:10
【问题描述】:
有一个容器可以容纳四个左浮动的divs,每个width都设置为50%(连续两个)。此外,我为每个div 添加了一个top-margin 值,但第一个(通过这个类似猫头鹰的选择器* + *)。
由于第一个 div 自身内部的文本比第二个少,因此它们的高度可能会导致不同的值(第一个会更小)。在这种情况下,出乎我的意料,第三个div 将在第一个下方找到它的位置,只有它的top-margin 阻止它接触第一个。相反,我找到了这张照片:
显然,第三个div 达到了第二个垂直水平。有人可以详细说明这个规则吗?为什么第三个div 没有尽可能高地提升到它(第一个div)?
【问题讨论】:
-
要获得您的布局,使用浮动不是一个好的解决方案......最好使用 flexbox 或网格
-
@Sfili_81 是的,我知道这个选项,但现在我只是想掌握浮动。
-
为什么要以这种方式在顶部添加边距
body * + *? -
@Sfili_81 这是一种在垂直对齐的元素之间实现垂直间隙的便捷方法(我们不希望它应用于第一个元素,至于
body本身) -
@Sfili_81 好的,在这种情况下,
top-margin应该应用于第一个div(我制作这个示例是为了将这些 div 变成一个- div-in-a-row 稍后)。尽管如此,我的问题仍然存在。