- From: Roland Steiner <rolandsteiner@google.com>
- Date: Wed, 20 Jul 2011 18:29:25 +0900
- To: www-style@w3.org
- Message-ID: <CACFPSpgYKXWGWy8_W2KfRbtYqjM1NPMe3196w8QGSVWG28kC2A@mail.gmail.com>
Hi all, reading through http://www.w3.org/TR/css3-content/#pseudo-elements, I'd have a few questions and suggestions: .) The spec mentions, as an aside, that 2 adjacent ::outside pseudo-elements are "meaningless". To me foo::outside::outside would indicate an enclosing pseudo-element for foo::outside, while foo::outside(2) indicates a 2nd layer of enclosing elements. The effect is largely the same, except that in the first case, foo::outside::outside inherits the style from foo::outside, whereas in the case of foo:outside(2) the style is inherited from foo. It seems the only reason to prohibit foo::outside::outside is that the rendering order is ambiguous if you have both foo::outside::outside and foo::outside(2) - but that's a different reason from being "meaningless". .) By using structural pseudo-elements as defined in the spec, one can now insert children within the element (::before and ::after) and wrap the element within a new parent (::outside). What seems to be missing is the ability to add siblings to the element. Pseudo-elements for this (let's call them ::pred and ::succ for now) could IMHO be useful, esp. in cases where you cannot add a wrapper (foo::outside::before instead of ::pred, and foo::outside::after instead of ::succ) to simulate them, e.g., within lists and tables. E.g., ol.southpark li:last-child::succ { display: list-item; content: "???" } ol.southpark li:last-child::succ(2) { display: list-item; content: "Profit!" } to spruce up numbered lists. As with ::outside, AFAICT ::succ::succ and ::succ(2) would be subtly different in inheritance, but also ambiguous in rendering order. - Roland
Received on Wednesday, 20 July 2011 09:30:09 UTC