Css 从::第一个字母中删除下划线
除了第一个字母外,我正在尝试在所有字母下面划线。我试图通过Css 从::第一个字母中删除下划线,css,pseudo-element,typography,text-decorations,Css,Pseudo Element,Typography,Text Decorations,除了第一个字母外,我正在尝试在所有字母下面划线。我试图通过::first letter删除第一个字母的下划线,但未成功。为什么这在这里不起作用 <a class="sample underline letter-underline-none" href="https://twitter.com/ryanve" >@ryanve</a> 发件人: 文本装饰是跨子体文本元素绘制的。这意味着如果元素指定了文本装饰,则子元素不能删除装饰 (我的重点)。当然,在您的例子中没
::first letter
删除第一个字母的下划线,但未成功。为什么这在这里不起作用
<a class="sample underline letter-underline-none"
href="https://twitter.com/ryanve"
>@ryanve</a>
发件人:
文本装饰是跨子体文本元素绘制的。这意味着如果元素指定了文本装饰,则子元素不能删除装饰
(我的重点)。当然,在您的例子中没有真正的子元素(仅仅是第一个字母伪元素),但同样的逻辑也适用
也就是说,一些实验表明子元素可以添加自己的下划线(覆盖祖先的下划线),然后使用文本装饰颜色指定该下划线的颜色。因此,在大多数情况下,你可以通过写一些类似的东西,将你想要的视觉效果整合在一起
.letter-underline-none::first-letter {
text-decoration: underline;
text-decoration-color: #FFF;
}
(调整#FFF
部件以匹配预期的背景色)。不过,我不认为我会建议这样做,因为它似乎太可能出现奇怪的边缘情况,这些情况看起来比一开始的全下划线效果更糟糕。来自:
文本装饰是跨子体文本元素绘制的。这意味着如果元素指定了文本装饰,则子元素不能删除装饰
(我的重点)。当然,在您的例子中没有真正的子元素(仅仅是第一个字母伪元素),但同样的逻辑也适用
也就是说,一些实验表明子元素可以添加自己的下划线(覆盖祖先的下划线),然后使用文本装饰颜色指定该下划线的颜色。因此,在大多数情况下,你可以通过写一些类似的东西,将你想要的视觉效果整合在一起
.letter-underline-none::first-letter {
text-decoration: underline;
text-decoration-color: #FFF;
}
(调整#FFF
部件以匹配预期的背景色)。不过,我不认为我会建议这样做,因为它似乎太可能出现奇怪的边缘情况,看起来比一开始的全下划线效果更糟糕。答案不错!如果使用CSS变量,这种技术似乎是合理的,但在这种情况下,一个额外的元素似乎更安全,尤其是由于@
的出色的黑客!回答得好!如果使用CSS变量,这种技术似乎是合理的,但在这种情况下,一个额外的元素似乎更安全,尤其是由于@
的出色的黑客!