<!doctype html>
<html>
<head>
<title>Pseudo-negation</title>
<link href="style.css" rel="stylesheet">
</head>
<body>
<section>
<p>This is the first paragraph.</p>
<p>And a subsequent one.</p>
<p>Another one here.</p>
<blockquote>This is a <code>blockquote</code>!</blockquote>
<aside>And an <code>aside</code>?</aside>
</section>
<section class="warning">
<p>This other section has a class.</p>
<p>And another paragraph.</p>
</section>
</body>
</html>
/* “Invert” other pseudos/counts: all non-first `p`: */
p:not(:first-child) { color: red }
/* Or check elements: any child that isn’t `p`: */
section *:not(p) { color: blue }
/* “Flip” a `.class`: `section` that aren’t `.warning`: */
section:not(.warning) { background-color: lightgray; }
/* But often best to just target things themselves! */
section:first-child { background-color: lightgray }
.warning { background-color: yellow}