【问题标题】:Clearfix with twitter bootstrap带有 twitter 引导程序的 Clearfix
【发布时间】:2013-09-08 22:46:42
【问题描述】:

我有一个 twitter bootstrap 问题,对我来说有点奇怪。我有一个固定在左侧和一个主要区域的侧边栏。

<div>
  <div id="sidebar">
    <ul>
      <li>A</li>
      <li>A</li>
      <li>C</li>
      <li>D</li>
      <li>E</li>
      <li>F</li>
      <li>...</li>
      <li>Z</li>
    </ul>
  </div>
  <div id="main">
    <div class="clearfix">
      <div class="pull-right">
        <a>RIGHT</a>
      </div>
    </div>
  <div>MOVED BELOW Z</div>
</div>

#sidebar {
  background: red;
  float: left;
  width: 100px;
}

#main {
  background: green;
  margin-left: 150px;
  overflow: hidden;
}

在主要区域内,我有一些带有向左拉和向右拉的内容,通过 clearfix 清除。

问题是clearfix-div下面的内容被移动到低于sidebar-content。

我为此做了一个小提琴:http://jsfiddle.net/ZguC7/

我通过将“溢出:崩溃”设置为#main 来解决问题,但我不明白,如果有人能解释导致此问题的原因,我会非常高兴。

【问题讨论】:

  • 我更新了你的小提琴,jsfiddle.net/ZguC7/123。我只是改变了'clearfix' div的结束标签的位置,它更正了高度
  • 谢谢,但这不是我想要的。 “Hello”文本不应与“FOO”在同一行

标签: css twitter-bootstrap-3 clearfix


【解决方案1】:

clearfix 应该包含浮动元素,但在您的 html 中,您仅在浮动右侧之后添加了 clearfix,即您的 pull-right,因此您应该这样做:

<div class="clearfix">
  <div id="sidebar">
    <ul>
      <li>A</li>
      <li>A</li>
      <li>C</li>
      <li>D</li>
      <li>E</li>
      <li>F</li>
      <li>...</li>
      <li>Z</li>
    </ul>
  </div>
  <div id="main">
    <div>
      <div class="pull-right">
        <a>RIGHT</a>
      </div>
    </div>
  <div>MOVED BELOW Z</div>
</div>

see this demo


很高兴知道您通过设置溢出属性解决了问题。然而,这也是清除浮动的好主意。您可以在浮动元素的地方添加 overflow: hidden;,就像在 main 中所做的那样。

【讨论】:

  • 我也只是添加了一个&lt;div class='clearfix'&gt;&lt;/div&gt; 我的'换行符'应该是,它工作得很好。
猜你喜欢
  • 2012-04-29
  • 1970-01-01
  • 2012-12-25
  • 1970-01-01
  • 2016-01-08
  • 2013-04-22
  • 1970-01-01
  • 1970-01-01
  • 2016-08-07
相关资源
最近更新 更多