我正在寻找一种优雅的方式来将两个div放在另一个之外而不用换行。第一个div是一个图标,第二个是未知大小的文本。
他们不应该分成两行而是隐藏,如果没有足够的地方。我尝试使用此example,但它无法正常工作。
有一个类似的question,但它的大小未知是不一样的。
感谢帮助
答案 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;
}
答案 1 :(得分:3)
float: left
不会给你,你需要什么
试试display: inline
答案 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)
您可以尝试
float: left;
并使用此样式创建外部div:
height: 1%; overflow: hidden;
答案 5 :(得分:1)
.d1和.d2你必须给出一定的宽度,但你必须确保.d1和.d2的宽度(+边距和填充)不大于容器类,否则它们将无法彼此相邻设置。