【发布时间】:2012-10-05 21:46:54
【问题描述】:
我正在使用text-overflow: ellipsis 来剪辑位于锚点内的跨度内的文本。当我悬停时,省略号字符没有下划线,这会导致小间隙。有没有办法解决这个问题?
【问题讨论】:
我正在使用text-overflow: ellipsis 来剪辑位于锚点内的跨度内的文本。当我悬停时,省略号字符没有下划线,这会导致小间隙。有没有办法解决这个问题?
【问题讨论】:
是的,您可以这样做 - 设置 text-decoration: none 而不是使用 border-bottom - DEMO
a {
display: block;
width: 185px;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
text-decoration: none;
border-bottom: 1px solid transparent;
}
a:hover {
border-bottom: 1px solid #000;
}
【讨论】:
text-decoration。
:before 或 :after ),因此它不算作文本。这就是**text**-decoration 没有被应用的原因。
如果有人像我一样发现了这个,并且不喜欢边框底线太远的事实,那么这段代码可能会有所帮助DEMO
a {
display: block;
width: 185px;
background: beige;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
text-decoration: none;
color: #000;
position: relative;
}
a:hover::before {
content: '';
position: absolute;
bottom: 2px;
right: 0;
left: 0;
border-bottom: 1px solid black;
}
仍然是一个 hack,但你知道... :)
【讨论】: