我有一个 HTML 页面,里面有几个 div:
div#given -- display: block
div#one -- display: table
div#two -- display: table-row
div#three -- display: block
div#four -- display: block
#given
由第三方提供并具有明确的width
设置,但该宽度可以通过 JavaScript 更改。
#one
, #two
,#three
并且#four
都具有隐式宽度。
#three
有一个样式表,如:
#three
{
overflow-y: hidden;
}
#three:hover
{
overflow-y: visible;
}
#four
包含大量文本并且完全溢出#three
,但溢出是隐藏的,直到#three
悬停。
现在#four
我想申请text-overflow: ellipsis;
,但这似乎也只有在white-space: nowrap;
设置时才有效。但是,这会向左延伸#three
几千#four
个像素,这绝对不是我想要的。
到目前为止,我还没有找到其他明确设置宽度的解决方案#four
,这(可能,但非常)非常不切实际,因为 的宽度#given
不是固定的。
有没有非 JS 的方法来做到这一点?
这是我的问题:https ://jsfiddle.net/zquL7sem/3/
我的目标是让红色边框内的区域在蓝线处结束,并在文本结束处显示三个点,而不为#three
or设置明确的宽度#four
。
很感谢任何形式的帮助。