On 04/05/2012 03:44 PM, Tab Atkins Jr. wrote: > Right now, pseudo-elements are selected by appending a "::foo" to the > end of a compound selector, as if it were any other simple selector. > This syntax dates back from CSS1, when the only pseudo-elements were > :first-line and :first-letter, which are heavily restricted in what > properties they can take. In many ways, these can be considered to > not be elements at all, but rather simply a special way to apply > properties to a subset of text. > > This changed with CSS2 and its introduction of ::before and ::after - > these were completely unrestricted in the properties they could > accept, and are generally identical to 'real' elements. However, for > consistency we stuck with the CSS1 syntax for pseudo-elements, only > changing from a single colon to a double colon. > > This syntax has some drawbacks. For one, it's unclear from the syntax > that what you're actually selecting is a brand new element - this is > usually indicated by the use of a combinator, but :: doesn't have the > qualities of a combinator. I don't see any benefit to solving this. > For two, the syntax forces the pseudo-element to be at the end of the > selector, which prevents us from filtering based on qualities of the > pseudo-element, such as wanting to style it differently when hovered. > (This is another legacy from CSS1, where there were no pseudo-classes > that could possibly apply to pseudo-elements.) This is a restriction that we can relax. ~fantasaiReceived on Thursday, 5 April 2012 23:14:13 UTC
This archive was generated by hypermail 2.4.0 : Friday, 25 March 2022 10:08:14 UTC