【发布时间】:2019-04-06 07:19:39
【问题描述】:
假设如下:
<li>
<strong>Name:</strong>
<span>John Doe</span>
</li>
标签部分(<strong> 标签中的字符串)和值部分(<span> 标签中的字符串)可以有任意长度。因此,有时标签可能很长,而值可能很短,反之亦然,或两者都短,或两者都长。
当标签和值的组合宽度超过指定宽度时,我希望连接字符串的尾部显示省略号。 如何在 CSS 中做到这一点?
更新:如果标记看起来像这样呢?
<dl>
<dd>Name:</dd>
<dt>John Doe</dt>
</dl>
【问题讨论】:
-
第一个将按原样使用,例如
li { white-space: nowrap; width: 150px; overflow: hidden; text-overflow: ellipsis; }因为<strong>和<span>都是display: inline。第二个需要定位dl dt,因为它是display: block。 -
如您所见,显示类型也很重要,要使
text-overflow: ellipsis;正常工作,该元素应该是 block 类型(例如“inline-block”、“block ", "flex",虽然 flex 有更多需要注意的地方)。
标签: css