Supported by Mozilla.
Safari supports not
but interprets div:empty
as div
.
On this page I describe two Mozilla proprietary pseudo-classes.
The :not
pseudo-class serves to negate part of a selector.
p.test *:not(code) {text-decoration: underline;}
This is the paragraph with class="test"
. I added a span for good measure.
All HTML elements inside this paragraph are underlined
(p.test *
), but not the code
elements (:not(code)
).
The :not
syntax is certain to be tricky. I wrote the example on this page, but I
have no idea how to write more complex selectors. This pseudo-class needs more study.
I could have left out the *
but included it anyway to make the code example clearer.
The :empty
pseudo-class selects empty elements, elements without any content.
div:empty {background-color: #000000; color: #ffffff;}
Above this paragraph you see (or don't see) an empty div. I gave it a height
so you can see
its background color (or lack thereof).
The first div on the page gets a black background, too, and that's far more interesting. Initially it is empty, but onload, after the style assignments, I generate its content (last modified info and a link to my frameset when you're outside it).
So :empty
could be used to select elements exclusively filled with generated content.