我有一个长文本内的div定义宽度:

HTML:

<div>Stack Overflow is the BEST!!!</div>

CSS:

div {
    border: 1px solid black;
    width: 70px;
}

我怎么能迫使字符串保持在一行(即,在“溢出”中间被切断)?

我试着使用overflow: hidden,但是没有用。


当前回答

试试这个:

div {
    border: 1px solid black;
    width: 70px;
    overflow: hidden;
    white-space: nowrap;
}

其他回答

试试这个:

div {
    border: 1px solid black;
    width: 70px;
    overflow: hidden;
    white-space: nowrap;
}

把这个添加到你的div:

white-space: nowrap;

http://jsfiddle.net/NXchy/1/

div { 宽度:100 px; 空白:nowrap;} 溢出:隐藏; 文本溢出:省略; } <div>Stack Overflow是最好的!!< / div >

我做了一把小提琴:

http://jsfiddle.net/audetwebdesign/kh4aR/

RobAgar指出了空白:nowrap。

这里有几件事:你需要overflow: hidden如果你不想看到额外的字符伸出到你的布局中。

同样,如前所述,你可以使用white-space: pre(参见EnderMB),记住pre不会折叠空白,而white-space: nowrap会。

尝试设置一个高度,这样块就不能增长到容纳你的文本,并保持overflow: hidden参数。

下面是一个例子,如果你需要显示两行高,你可能会喜欢:

div {
    border: 1px solid black;
    width: 70px;
    height: 2.2em;
    overflow: hidden;
}