Css 当它们不应该’时,浮动清除;T

Css 当它们不应该’时,浮动清除;T,css,css-float,Css,Css Float,有人能告诉我为什么这个“讨厌的”div不能正确浮动吗。 它应该放在页面的顶部,紧挨着其他代码,但事实并非如此——我已经看了太久的代码,根本看不到问题所在!请帮忙 更新:已解决!谢谢你的评论,让我意识到自己的错误 您将主、次和cta的宽度设置为74%,这意味着没有足够的空间让它们彼此相邻。(74+74+74远远超过了100%的宽度,再加上指定2%的边距)。将74%更改为20%,您应该开始看到更合适的行为。浮动使div应该彼此相邻。由于CTA不能位于main(74+74>100)的旁边,因此它将被

有人能告诉我为什么这个“讨厌的”div不能正确浮动吗。 它应该放在页面的顶部,紧挨着其他代码,但事实并非如此——我已经看了太久的代码,根本看不到问题所在!请帮忙


更新:已解决!谢谢你的评论,让我意识到自己的错误

您将主、次和cta的宽度设置为74%,这意味着没有足够的空间让它们彼此相邻。(74+74+74远远超过了100%的宽度,再加上指定2%的边距)。将74%更改为20%,您应该开始看到更合适的行为。

浮动使div应该彼此相邻。由于CTA不能位于main(74+74>100)的旁边,因此它将被放置在下一行。第二种情况也是如此。因为第三个确实合适,它将与最后一个放在同一行上,因为div的顺序不会改变。

不幸的是,您所期望的不是浮动的工作方式。当您将多个项目向左浮动时,一旦其中一个项目落在布局中下一个项目的下方(因为右侧没有空间),如果没有额外的定位代码,您将永远无法让它的一个同级项目位于其上方


浮动从左到右排列,而不是从上到下排列。如果需要第二列,应该将div包装在容器中,首先对齐列,然后对齐列的子列。

当然!!!我已经看得太多了,没有看到我浮动了3个项目,所有的74%

这就是我想要实现的目标:

我只需要将左侧的所有部分包装到一个宽度为74%的容器中


谢谢你的评论

请接受其中一种解决方案,以便我们能够受到启发,因此请回答您未来的问题。:)