2011-12-12 69 views
0

我有一个div可以保存一些文本。 div的宽度以像素为单位固定。我想确保如果文本比div中的一行占用更多空间,文本不会溢出并且不会换行到第二行。我只是希望它能够在一行上显示适合div的宽度。我一直在试验一个不会溢出的div

{ 
    overflow:hidden; 
    height:1em; 
    width:160px; 
} 

它有时可以工作,但我没有合适的身高。什么是正确的高度?可能有更好的方法来做到这一点。请告诉我。谢谢!

谢谢大家的贡献。这里是我工作:对于一个div :

{ 
    height:1.2em; 
    text-overflow:ellipsis; 
    overflow:hidden; 
    white-space:nowrap; 
} 

注意两个text-overflow:ellipsis;white-space:nowrap;需要在那里的省略号来显示。

而且针对跨距注意,跨度没有宽度,所以你需要添加:

{ 
    display:inline-block; 
    width:160px; 
} 

的跨度工作

回答

2
overflow:hidden; 
height:1em; 
width:160px; 
text-overflow: ellipsis; 
line-height: 1em; 

将增加一个省略号以文本,如果它溢出封闭div并将div设置为仅使用1em,即容器的高度。

2

white-space: no-wrap将防止文本换行。

1

设置段落的线条高度,然后将div高度设置为相同。 只需注意文本通常比1em高,1.3或1.4通常更好。

尝试一下这里:http://jsfiddle.net/PYA3y/

#mydiv{ 
    overflow:hidden; 
    height:1.4em; 
    width:160px; 
} 
#mydiv p{line-height:1.4em;} 

编辑:

在我写我的回答的时候,你还有其他3个答案! Scott对于使用省略号有一个好主意,我已经更新了JSFiddle来包含它(尽管它不起作用??)

如果我理解正确,设置空格将不会给你结果需要......你确实想要额外的文字被隐藏,不是吗?

1
{ 
    white-space:nowrap; 
    overflow:hidden; 
    height:1em; 
    width:160px; 
}