:not()是CSS的一个否定伪类选择器。它是一个函数式伪类选择器,它可以将一个简单选择器(如下所示)作为参数,然后匹配一个或多个不由参数表示的元素。
能作为:not()参数的可以是以下任何一种的简单选择器:
1、标签选择器(例如p,span等)
2、类选择(例如.element,.sidebar等)
3、ID选择器(例如#header)
4、伪类选择器(例如:first-child,:last-of-type)
5、属性选择器(例如[type="checkbox"])
6、通用选择器(*)
但是,传递给:not()的参数不能是伪元素选择器(例如::before和::after等)或另一个否定伪类选择器。
因此,以下是无效:not()值:
/*无效*/
p:not(:not(.same)){}
p:not(:not(:last-child)){}
:not(::first-letter){}
a:not(::after){}
从上面的示例可以看出,:not()不能被嵌套,例:not(:not(..))。它还不能被嵌套在:matches()伪类中,例:selector(:matches(:not(..)))。
如前所述,:not()选择器将匹配其参数中未由选择器表示的元素。所以,这条css语句::
li:not(.new){
/*所有样式列表项,除了具有新类的项之外*/
}
将选择除具有.new类名称的列表项之外的所有列表项。
:not()选择是可链接更多的:not()选择。例如,以下内容将匹配article除ID之外的所有s#featured,然后将过滤掉具有类名的文章.tutorial:
article:not(#featured):not(.tutorial){
/*格式化文章*/
}
:not()还可以与其他伪类和伪元素链接。例如,以下将.old使用::after伪元素添加“new!”单词以列出没有类名的项目:
li:not(.old)::after{
content:“New!”;
color:deepPink;
}
说明:
:not()伪类选择允许写入无用的选择。例如:not(*),它根本不代表任何元素将永远不会应用任何样式。
总结:以上就是本篇文章的全部内容,希望能对大家的学习有所帮助。


本文转载自中文网


本文转载自中文网
如需转载,请注明文章出处和来源网址:http://www.divcss5.com/css3-style/c56612.shtml