2016-02-12 49 views

回答

8

:notcan only be applied to simple selectors。伪元素不是simple selectors,所以你不能倒置它们。

您可以将“非首字母”样式应用于所有文本,并将其替换为第一个字母。

例如:

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

 
p::first-letter { 
 
    color: black; 
 
    text-transform: none; 
 
}
<p>red capitals except the first letter.</p>

+1

您可能需要链接到[规格](https://drafts.c​​sswg.org/selectors-3/#negation),也表明为什么伪元素不能作为':not'的参数(这是因为伪元素不是简单的选择器)。只是一个建议:) – Harry

+3

值得注意的是,对于像color这样的属性,'color:currentColor'将不会在这里工作,因为:: first-letter框像所有伪元素框一样是p的后代盒子,所以它的currentColor将是文本的其余部分 - 红色。这就是为什么原始颜色必须重新编码。 – BoltClock