使div浮动,但如果文本太长则不会"掉落"

Xst*_*ity 15 html word-wrap

我很遗憾这个可怕的头衔.

基本上,我有一个div包含两个div与s position: relative;float: left;.第一个div设置为200px(凭借其内容),因为它将包含的所有内容并不意味着在宽度方面增长.

但是,第二个div我想要只生长到包含的一边div.包含div没有设置宽度,因为我的屏幕垂直,我知道大多数人的水平.我在多台计算机上测试它,所以我知道它在两个版本中的样子.

然而,回到这一点,在第二个div,如果我把一个短语比包含的其余部分长div,那么第二个div下降到第一个以下div.我不希望第二个div具有设定宽度,所以有没有办法设置最大宽度?如果是这样,有没有办法将它设置为包含的东西div?我真的很想不必拉屏幕分辨率,什么不是,所以希望还有另一种方式.

感谢您的帮助.

在jsFiddle.net上减少代码和CSS

mer*_*tor 21

overflow 是神奇的词.

您可以使用它来摆脱那个丑陋的清除div,并让第二个div占用浮动旁边的任何空间.

此外,.content div:last-childCSS中的规则适用于空清除div而不是第二列,因此实际上并没有执行任何操作.

这是它的样子(和更新的小提琴):

<!doctype html>
<style>
.content {
  margin: 10px;
  padding: 0;
  border: 1px solid black;
  overflow: hidden; /* replaces <div class="clear"/> */
}

.columns {
  position: relative;
  float: left;
  padding-right: 20px;
  margin-bottom: 10px;
}

.c2 {
  float: none; /* Don't float this column... */
  overflow: hidden; /* ... Create a new block formatting context instead */
  padding-right: 10px;
  word-wrap: break-word;
}
</style>

<div class="content">
    <div class="columns">
        <img src="#" height="200px" width="200px" />
    </div>
    <div class="columns c2">
        TestingTestingTestingTesting
    </div>
</div>
Run Code Online (Sandbox Code Playgroud)

  • 美丽的。第二个元素上的“float:none”是我在这里的关键词。你太棒了。 (2认同)