两个div除了另一个没有包装

时间:2012-02-27 10:50:41

标签: css html

我正在寻找一种优雅的方式来将两个div放在另一个之外而不用换行。第一个div是一个图标,第二个是未知大小的文本。

他们不应该分成两行而是隐藏,如果没有足够的地方。我尝试使用此example,但它无法正常工作。

有一个类似的question,但它的大小未知是不一样的。

感谢帮助

6 个答案:

答案 0 :(得分:9)

像这样写:

.container {
  white-space: nowrap;
}
.d1,
.d2{
    display: inline-block;
    *display:inline;/*for IE 7 */
    *zoom:1;/*for IE 7 */
    vertical-align:top;
}
.d1 {            
    background-color:#ff0;
}

.d2 {
    background-color:red;
}

选中此http://jsfiddle.net/xcSXA/5/

答案 1 :(得分:3)

float: left不会给你,你需要什么 试试display: inline

http://jsfiddle.net/xcSXA/3/

答案 2 :(得分:3)

不要浮动div,而是将它们显示为内联块,以便它们不会换行。此外,将容器的“白色空间”样式设置为“nowrap”以防止换行。

<强> HTML

<div class="container">
    <div class="d1">icon</div>
    <div class="d2">This can be very very very very large.</div>
</div>

<强> CSS

.container {
  white-space:nowrap;
  overflow:hidden;
  width: 100px;
}

.d1 {
    display: inline-block;
    background-color:#ff0;
}

.d2 {
    display: inline-block;
    background-color:red;
}

工作示例: http://jsfiddle.net/C4Wfa/

答案 3 :(得分:2)

我认为,以下CSS就是您所需要的。

.container {
  display:inline-block;
  overflow:hidden;
  white-space: nowrap;
}

.d1 {
  display: inline-block;
  background-color:#ff0;
}

.d2 {
  white-space: nowrap;
  display: inline-block;
  background-color:red;
}

答案 4 :(得分:1)

答案 5 :(得分:1)

.d1和.d2你必须给出一定的宽度,但你必须确保.d1和.d2的宽度(+边距和填充)不大于容器类,否则它们将无法彼此相邻设置。