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

HTML:

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

CSS:

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

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

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


当前回答

之前的答案对我都没用。

有些情况下,不管你做什么,取决于系统(Oracle Designer: Oracle 11g - PL/SQL), div总是会转到下一行,在这种情况下,你应该使用span标记。

这对我产生了奇效。

<span float: left; white-space: nowrap; overflow: hidden; onmouseover="rollOverImageSectionFiveThreeOne(this)">
    <input type="radio" id="radio4" name="p_verify_type" value="SomeValue"  />
</span> 
Just Your Text || 
<span id="headerFiveThreeOneHelpText" float: left; white-space: nowrap; overflow: hidden;></span>

其他回答

之前的答案对我都没用。

有些情况下,不管你做什么,取决于系统(Oracle Designer: Oracle 11g - PL/SQL), div总是会转到下一行,在这种情况下,你应该使用span标记。

这对我产生了奇效。

<span float: left; white-space: nowrap; overflow: hidden; onmouseover="rollOverImageSectionFiveThreeOne(this)">
    <input type="radio" id="radio4" name="p_verify_type" value="SomeValue"  />
</span> 
Just Your Text || 
<span id="headerFiveThreeOneHelpText" float: left; white-space: nowrap; overflow: hidden;></span>
div {
    display: flex;
    flex-direction: row;
}

是对我有效的解决方法。在使用div列表的某些情况下,这是必需的。

一些可供选择的方向值是行反向、列反向、列反向、未设置、初始值和继承。做你期望他们做的事。

使用white-space:nowrap和overflow:hidden

http://jsfiddle.net/NXchy/8/

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

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

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

试试吧。它使用pre而不是nowrap,因为我假设你想让它类似于<pre>运行,但两者都可以工作:

div {
    border: 1px solid black;
    max-width: 70px;
    white-space: pre;
}

http://jsfiddle.net/NXchy/11/