css - 固定宽度的右浮动 div 是否低于其他内容?

标签 css

我有一个两列布局,左侧列的大小灵活,但右侧列的宽度固定。当您调整浏览器大小时,左手栏会缩小以让右手栏始终适合。

然而,在设定的大小下,当左列达到最小宽度(由窗口的整体宽度决定)时,我们需要使用媒体查询堆叠列,以便它们可以取消 float 并填充空间对他们可用。

问题是,当发生这种情况时,由于必须编写标记的方式,右侧列会出现在左侧列上方。我需要右侧栏(包含不太重要的信息)在较小屏幕上位于左侧栏下方。

是否可以让右栏自然地落在左栏下方?是通过在标记中进一步实现尺寸效果,还是通过一些纯 CSS 解决方案?

我不想不得不求助于 javascript 来更改元素顺序,如果可能的话,我真的不想让具有相同内容的重复 div 来隐藏/取消隐藏,但是我知道如果那是唯一可行的解​​决方案。

这里有一个 fiddle 演示:http://jsfiddle.net/jmxu2/

<div class='column-contain'>
  <div class='c-right'>
      The right floated div is secondary content, but fixed width.  It should drop below the primary content when there isn't enough room.
  </div>
  <div class='c-left'>
      This left div is primary content, but non fixed in size.  When there isn't enough room to nicely display side by side, this div should be on top.
  </div>
</div>

最佳答案

右边的列将出现在顶部,因为它在 HTML 中排在第一位。如果无法对 HTML 中的元素重新排序,请尝试将以下内容添加到您的媒体查询中:

.c-left  {display: table-header-group; }
.c-right {display: table-footer-group; } 

这会将具有这些类的每个元素放在一个伪表中,并相应地在流中重新排序它们。显示为页眉的元素出现在显示为页脚的元素之上。

关于css - 固定宽度的右浮动 div 是否低于其他内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19073130/

相关文章:

html - 紧贴图片周围的 div

javascript - 尝试使用 jQuery、javascript、click 函数将图像更改为相关的 id

html - 如何使用带有阴影和颜色的 css 自定义 div

javascript - 防止在 Mac 上的 Safari 中拖动滚动

javascript - Ext JS 如何实现全屏最大化窗口显示?

html - 如何在段落中使用填充突出显示长句子?

html - 如何在我的案例中设置多个类

css - 透明背景上的透明字体

css - CSS3 中的 : body[data-page~ ='hello' ], 是什么意思?

css - 使用 Bootstrap 3 的带有 form_tag 的 Rails 内联表单