- From: Adam M. Costello <amc@CS.Berkeley.EDU>
- Date: Sat, 20 Feb 1999 22:29:17 +0000
- To: www-style@w3.org
[Sorry if this has been mentioned before--I'm new to the list.]
Today I thought of a case where it would be useful to be able to negate
a pseudo-class. Suppose I want some links to be "subtle" in the sense
that I don't want them to be rendered specially until the mouse moves
over them, at which time I want them to look like ordinary links. (For
example, maybe every word with a glossary entry links to the entry, and
they would be too distracting if rendered specially).
I could mark subtle links by including the word "subtle" in their class
attributes. Then I'd like to be able to say:
.subtle:!hover { color: inherit; text-decoration: inherit }
Notice the "!" in front of "hover". Without this capability, I would
have to explicitly set the appearance of links, which I might prefer to
leave unspecified:
:link, :visited { text-decoration: LINKDECOR }
:link { color: LCOLOR }
:visited { color: VCOLOR }
.subtle { color: inherit; text-decoration: inherit }
.subtle:hover { text-decoration: LINKDECOR }
.subtle:link:hover { color: LCOLOR }
.subtle:visited:hover { color: VCOLOR }
(LINKDECOR, LCOLOR, and VCOLOR stand for particular values of the
appropriate types.)
Of course, if we allow negation of pseudo-classes, maybe we should also
allow negation of attribute selectors. Possible syntax:
.!foo
[!whatever]
I don't know whether any of this would impose difficult burdens on
layout engines.
AMC
Received on Saturday, 20 February 1999 17:29:22 UTC