我可以使用css3而不是伪类的选择器吗?

时间:2013-12-17 08:20:09

标签: css css3

<style type="text/css">
p:not(p:first-letter)
{
color:#000;
}
</style>

<p style="color:Blue">
  test test
</p>

它没有按预期工作,因为除了第一段之外,段落的所有字母都应该是黑色的。

3 个答案:

答案 0 :(得分:1)

没有。 first-letter伪元素不是p选择器返回的集合的一部分。你不能排除它。 你为什么不用它:

<style type="text/css">
p
{
color:#000;
}
p:first-letter{
    color:blue;
}
</style>

<p style="color:Blue">
  test test
</p>

顺便说一句,这根本不是一个好习惯。你应该在p元素上使用一个类,并通过css使用样式。您无需为此动态生成css。

<style type="text/css">
p.test
{
color:#000;
}
p.test:first-letter{
    color:blue;
}
</style>

<p class="test">
  test test
</p>

答案 1 :(得分:1)

  

否定CSS伪类:not(X)是一种功能符号   以简单的选择器X为参数。它匹配一个元素   没有参数表示。 X不得包含另一个   否定选择器,或任何伪元素。

这意味着您无法将::first-letter用作:not()的参数,因为它是pseudo-element

尝试相反的方式:

http://jsfiddle.net/YET8v/1/

HTML:

<p>Test test</p>

CSS:

p {
    color: #000;
}

p::first-letter {
    color: blue;
}

答案 2 :(得分:0)

css选择器不仅将简单的选择器作为参数。

一个简单的选择器是:单个元素,属性选择器,类,id或pseude-class。

简单选择器的示例:

body
*
[value="foo"]
.foo
#foo
:hover
相关问题