【问题标题】:Two Elements Refuse to Float Next to the Third两个元素拒绝浮在第三个元素旁边
【发布时间】:2015-05-04 21:31:18
【问题描述】:

几天来,我一直在尝试解决应该是简单的浮动/内联块 CSS 问题,以至于我将元素拟人化为混蛋。谜底如下:

我已将 3 个短代码全部放在我网站上的一个居中对齐的 <p> 标记中。它们如下:

  • A = [shortcode_for_a_left_sidebar]
  • B = [shortcode_for_a_figure]
  • C = [shortcode_for_a_right_sidebar]

Afloat: leftB(三个短代码的主要部分)设置为:

display: block;
margin: auto;

C,这个可怜的家伙,是float: right

我希望三个短代码依偎在一起:

ABC,都在同一行。

A 像往常一样合群,在 B 的左边距内浮动没有问题。另一方面,C 被推到下一行!它看起来像:

AB
  C

C当然适合B的右边距内,但不会并肩站立。而且我无法弄清楚为什么代码会以这种方式运行的任何原因。因为它们在同一行/包裹在同一个标​​签中,B的边距不应该自动调整以让C进入吗?

我梳理了一堆类似的案例,答案似乎总是实现我已经实现的。我怎样才能让这三个成为朋友?

///这里是pesky floating elements.的实时链接

【问题讨论】:

  • float: right放在其他前面
  • 希望这可以为您解决问题。否则,我建议创建一个小提琴来证明这一点。您应避免包含指向演示问题的外部网站的链接。
  • @brewal 我在另一篇类似的帖子中尝试过这样做,它产生了完全相同的浮动问题,但被镜像了——现在,BC 彼此相邻浮动,A 被踢到下面的行。你有什么猜测吗?
  • 谢谢@steveklein,我不经常发帖,所以我不知道——我会考虑创建一个小提琴。
  • 当然,Nate 不用担心,并且非常有趣和清晰的帖子顺便说一句:)

标签: html css css-float figure


【解决方案1】:

为了让一个元素“并肩”向右浮动,你必须把它放在 HTML 中不浮动的内容之前:

<div id="my-float-left"></div>
<div id="my-float-right"></div>
<div id="my-not-floating-content"></div>

在您的情况下,您必须将.otw-sidebar-2 div 放在&lt;figure&gt; 上方。

【讨论】:

  • 做到了!在图形短代码之前添加 both 浮动的短代码,也就是说——你知道为什么 CSS 会这样吗?我希望我能投票!
  • 我不确定为什么它的行为是这样的。我想这是一开始就做出的选择。在 HTML 中浮动元素可能比之前更容易。但是,如果它解决了您的问题,您可以接受答案;)
猜你喜欢
  • 2012-09-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2015-03-18
  • 1970-01-01
  • 2021-12-06
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多