我有一个 div
元素,其中包含一些文本。该元素具有固定宽度。如果文本太长以至于不能放在一行中,我想隐藏该文本(整个文本,而不仅仅是额外的行)。否则显示文本。
这可以用 CSS 完成吗?
在 html 中添加一些有助于实现此目的的附加元素是可以接受的。
原文由 Luka 发布,翻译遵循 CC BY-SA 4.0 许可协议
我有一个 div
元素,其中包含一些文本。该元素具有固定宽度。如果文本太长以至于不能放在一行中,我想隐藏该文本(整个文本,而不仅仅是额外的行)。否则显示文本。
这可以用 CSS 完成吗?
在 html 中添加一些有助于实现此目的的附加元素是可以接受的。
原文由 Luka 发布,翻译遵循 CC BY-SA 4.0 许可协议
其他评论中提出的解决方案已经过时,今天我们有一个非常 简单 的方法来使用 text-overflow
来做到这一点。
注意:
text-overflow: string
仅适用于 Firefox 。注2:
text-overflow
仅在 容器的溢出属性 值为 hidden 、 scroll 或 auto 和white-space: nowrap;
时发生。
.a {
white-space: nowrap;
width: 50px;
overflow: hidden;
text-overflow: clip;
border: 1px solid #000000;
}
.b {
white-space: nowrap;
width: 50px;
overflow: hidden;
text-overflow: ellipsis;
border: 1px solid #000000;
}
.c {
white-space: nowrap;
width: 50px;
overflow: hidden;
text-overflow: "----";
border: 1px solid #000000;
}
<h1>The text-overflow Property</h1>
<p>The following two divs contains a text that will not fit in the box.</p>
<h2>text-overflow: clip (default):</h2>
<div class="a">Hello world!</div>
<h2>text-overflow: ellipsis:</h2>
<div class="b">Hello world!</div>
<h2>text-overflow: "----" (user defined string):</h2>
<div class="c">Hello world!</div>
原文由 trayingHardFi 发布,翻译遵循 CC BY-SA 4.0 许可协议
3 回答1.5k 阅读✓ 已解决
4 回答1.4k 阅读✓ 已解决
2 回答1k 阅读✓ 已解决
2 回答1.6k 阅读✓ 已解决
2 回答1.5k 阅读✓ 已解决
4 回答1.6k 阅读
2 回答986 阅读✓ 已解决
white-space: nowrap
的内联块内部包装器中,以防止换行。overflow: hidden
,并将相同的值设置为height
和line-height
。