除第一个字母外,如何选择文字?

joe*_*ews 8 css css-selectors pseudo-element

我知道::first-letter选择块级元素的第一个字母.

如何选择除第一个字母以外的所有文字?

我试过:not(::first-letter)但没有选择任何东西.

joe*_*ews 11

:not 只能应用于简单的选择器.伪元素不是简单的选择器,因此您无法反转它们.

您可以将"非首字母"样式应用于所有文本,并将其反转为第一个字母.

例如:

p {
  color: red;
  text-transform: uppercase;
}

p::first-letter {
  color: black;
  text-transform: none;
}
Run Code Online (Sandbox Code Playgroud)
<p>red capitals except the first letter.</p>
Run Code Online (Sandbox Code Playgroud)

  • 值得注意的是,对于诸如颜色之类的属性,`color:currentColor`将*不在这里工作,因为:: first-letter框与所有伪元素框一样,是p框的后代,因此其currentColor将是文本的其余部分 - 红色.这就是原始颜色必须重新编码的原因. (3认同)