Source code
Revision control
Copy as Markdown
Other Tools
Test Info:
- This WPT test may be referenced by the following Test IDs:
            
- /css/selectors/parsing/parse-not.html - WPT Dashboard Interop Dashboard
 
 
<!DOCTYPE html>
<meta charset="utf-8">
<title>CSS Selectors: The negation pseudo-class</title>
<script src="/resources/testharness.js"></script>
<script src="/resources/testharnessreport.js"></script>
<script src="/css/support/parsing-testcommon.js"></script>
<script>
  test_valid_selector('button:not([disabled])');
  test_valid_selector('*:not(foo)',
      ['*:not(foo)', ':not(foo)']);
  test_valid_selector(':not(:link):not(:visited)');
  test_valid_selector('*|*:not(*)', ':not(*)');
  test_valid_selector(':not(:hover)');
  test_valid_selector(':not(*|*)', ':not(*)');
  test_valid_selector('foo:not(bar)');
  test_valid_selector(':not(:not(foo))');
  test_valid_selector(':not(.a .b)');
  test_valid_selector(':not(.a + .b)');
  test_valid_selector(':not(.a .b ~ c)');
  test_valid_selector(':not(span.a, div.b)');
  test_valid_selector(':not(.a .b ~ c, .d .e)');
  test_valid_selector(':not(:host)');
  test_valid_selector(':not(:host(.a))');
  test_valid_selector(':host(:not(.a))');
  test_valid_selector(':not(:host(:not(.a)))');
  test_valid_selector(':not([disabled][selected])', ':not([disabled][selected])');
  test_valid_selector(':not([disabled],[selected])', ':not([disabled], [selected])');
  test_invalid_selector(':not()');
  test_invalid_selector(':not(:not())');
  test_invalid_selector(':not(::before)');
  test_invalid_selector(':not(:unknownpseudo)');
  test_invalid_selector(':not(.a, :unknownpseudo)');
  test_invalid_selector(':not(:unknownpseudo, .a)');
  test_invalid_selector(':host(:not(.a .b))');
</script>