W3C home > Mailing lists > Public > public-css-archive@w3.org > February 2018

Re: [csswg-drafts] [selectors-4]Why "Pseudo-elements cannot be represented by the matches-any pseudo-class"?

From: Tab Atkins Jr. via GitHub <sysbot+gh@w3.org>
Date: Thu, 08 Feb 2018 19:15:52 +0000
To: public-css-archive@w3.org
Message-ID: <issue_comment.created-364218218-1518117351-sysbot+gh@w3.org>
> It seems to me that since pseudo-elements were allowed to be effectively the subject of pseudo-classing, we can't restrict the effect of pseudo-classing to "subsetting the elements only" anymore. Yes, currently only pseudo-classes of user action are allowed for pseudo-elements, but I agree that @Loirooriol's example could be very useful in many cases.

If I'm reading you correctly, I think you misunderstood what I meant by my previous comment. I'm not drawing any real distinction between elements and pseudo-elements; as far as Selectors is concerned, they're basically the same thing. (This is my entire point above; *because* a pseudo-element is effectively a new element, the pseudo-element selector is *not* equivalent in meaning to any other simple selector, and is instead basically a combinator into the "pseudo-children" of an element.)

> Maybe it would be useful to introduce something like "any pseudo-element" notation that would be combinable with pseudo-classes

I wouldn't mind recasting things a bit to add a real combinator into the "pseudo-children", where presumably the pseudo-element names are instead matched as tagnames, like `.foo :: before:hover`, or `.foo :: *:matches(before, after)`, etc.  I've looked into this before and there were some issues with parsing if we just reinterpreted `::` as a combinator; I'll have to dig up what they were, as I can't recall right now.

GitHub Notification of comment by tabatkins
Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/2284#issuecomment-364218218 using your GitHub account
Received on Thursday, 8 February 2018 19:16:32 UTC

This archive was generated by hypermail 2.4.0 : Tuesday, 5 July 2022 06:41:24 UTC