not() CSS pseudo-class:  همه عناصر را انتخاب می‌کند بجز عناصری که به عنوان ورودی به این کلاس داده شود. از آنجایی که این کلاس از انتخاب عناصر خاصی جلوگیری می کند، به عنوان negation pseudo-class شناخته می شود.
/* paragraph همه عناصر را انتخاب می‌کند بجز عنصر */
:not(p) {
  color: blue;


  • Useless selectors can be written using this pseudo-class. For example, :not(*) matches any element which is not an element, so the rule will never be applied.
  • This pseudo-class can increase the specificity of a rule. For example, #foo:not(#bar) will match the same element as the simpler #foo, but has a higher specificity.
  • :not(.foo) will match anything that isn't .foo, including <html> (en-US) and <body> (en-US).
  • This selector only applies to one element; you cannot use it to exclude all ancestors. For instance, body :not(table) a will still apply to links inside of a table, since <tr> (en-US) will match with the :not() part of the selector.


ورودی‌های شبه‌کلاس ()not: با ویرگول از یکدیگر جدا می‌شود.



The ability to list more than one selector is experimental and not yet widely supported.

:not( <complex-selector-list> )

<complex-selector-list> = <complex-selector># (en-US)

<complex-selector> = <compound-selector> [ (en-US) <combinator>? (en-US) <compound-selector> ] (en-US)* (en-US)

<compound-selector> = [ (en-US) <type-selector>? (en-US) <subclass-selector>* (en-US) [ (en-US) <pseudo-element-selector> <pseudo-class-selector>* (en-US) ] (en-US)* (en-US) ] (en-US)! (en-US)
<combinator> = '>' | (en-US) '+ (en-US)' | (en-US) '~' | (en-US) [ (en-US) '|| (en-US)' ] (en-US)

<type-selector> = <wq-name> | (en-US) <ns-prefix>? (en-US) '* (en-US)'
<subclass-selector> = <id-selector> | (en-US) <class-selector> | (en-US) <attribute-selector> | (en-US) <pseudo-class-selector>
<pseudo-element-selector> = ':' <pseudo-class-selector>
<pseudo-class-selector> = ':' <ident-token> | (en-US) ':' <function-token> <any-value> ')'

<wq-name> = <ns-prefix>? (en-US) <ident-token>
<ns-prefix> = [ (en-US) <ident-token> | (en-US) '* (en-US)' ] (en-US)? (en-US) | (en-US)
<id-selector> = <hash-token>
<class-selector> = '.' <ident-token>
<attribute-selector> = '[ (en-US)' <wq-name> '] (en-US)' | (en-US) '[ (en-US)' <wq-name> <attr-matcher> [ (en-US) <string-token> | (en-US) <ident-token> ] (en-US) <attr-modifier>? (en-US) '] (en-US)'

<attr-matcher> = [ (en-US) '~' | (en-US) | (en-US) | (en-US) '^' | (en-US) '$' | (en-US) '* (en-US)' ] (en-US)? (en-US) '='
<attr-modifier> = i | (en-US) s



<p>این عنصر، عنصر پاراگراف است.</p>
<p class="fancy">من چقدر خوبم!</p>
<div>این عنصر، عنصر پاراگراف نیست.</div>


.fancy {
  text-shadow: 2px 2px 3px gold;

/* نیستند `fancy` که دارای کلاس <p> ِتمام عنصار */
p:not(.fancy) {
  color: green;

/* <p> همه عناصر بجز عنصر */
body :not(p) {
  text-decoration: underline;

/* <span> یا <div> همه عناصر بجز عناصر */
body :not(div):not(span) {
  font-weight: bold;
/* را دارا هستند `fancy` یا `crazy` همه عناصر بجز عناصری که کلاس‌های */
/* توجه داشته باشید که این نوع نوشتار هنوز پشتیبانی نمی‌شود. */
body :not(.crazy, .fancy) {
  font-family: sans-serif;



Specification Status Comment
Selectors Level 4
The definition of ':not()' in that specification.
Working Draft Extends its argument to allow some non-simple selectors.
Selectors Level 3
The definition of ':not()' in that specification.
Recommendation Initial definition.

Browser compatibility

BCD tables only load in the browser