::after
中的content: '>';
被overflow: hidden;
裁剪
.centered-text {
display: inline-block;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
width: 30vw;
}
.centered-text::before {
content: '<';
}
.centered-text::after {
content: '>';
}
<div style="text-align:center;">
<span style="float:left;">I'm on the left</span>
<span class="centered-text">a brown fox jumps over the lazy dog</span>
<span style="float:right;">I'm on the right</span>
</div>
结果:
I'm on the left <a brown fox jumps over th... I'm on the right
::after
中的'>'
被剪裁。
我所期望的是“〉”仍然可见。
I'm on the left <a brown fox jumps over th...> I'm on the right
我已经将overflow: visible;
添加到::after
中以覆盖.centered-text
中的overflow: visible;
,但是'〉'仍然被裁剪。
3条答案
按热度按时间kr98yfug1#
.centered-text::after
被认为是.centered-text
的子元素,这意味着当它涉及到overflow: hidden
时,它将被视为正常的实际子元素。一个解决方案是将文本 Package 在另一个元素中,并对其应用样式:
试试看:
pnwntuvh2#
你可以使用一个css变量,使用绝对位置,并通过javascript设置css变量。
cl25kdpy3#
@InSync谢谢!如果我将消息缩短为
<span>a brown fox</span>
,则额外 Package 器的问题是lots of spaces and disalignment of '<>'