- From: Marat Tanalin <mtanalin@yandex.ru>
- Date: Thu, 22 Jan 2015 03:32:52 +0300
- To: Tab Atkins Jr. <jackalmage@gmail.com>
- Cc: "www-style@w3.org" <www-style@w3.org>
28.01.2012, 03:34, "Tab Atkins Jr." <jackalmage@gmail.com>: > 2012/1/27 Marat Tanalin | tanalin.com <mtanalin@yandex.ru>: >> 28.01.2012, 03:08, "Tab Atkins Jr." <jackalmage@gmail.com>: >>> On Fri, Jan 27, 2012 at 3:05 PM, Marat Tanalin | tanalin.com >>> <mtanalin@yandex.ru> wrote: >>>> It would be nice to have combinator to select previous sibling. >>>> >>>> P - UL { >>>> /* Styles for UL element which is >>>> previous sibling of P element. */ >>>> } >>>> >>>> The "-" combinator is functionally similar to existing "+" combinator, but selects previous-sibling element instead of next-sibling one. >>>> >>>> So in result we would have "+" to move forward, and "-" to move backward (like element.nextSibling and element.previousSibling in DOM, respectively). >>>> >>> This is already possible with Selectors 4, using the normal sibling >>> combinator and the subject indicator: >>> >>> !ul + p { ... } >>> >> And how would you write following selector using subject indicator? >> >> P - UL > LI {...} > > Using the future extension to :matches() to allow complex selectors: > > :matches(!ul + p) > li {...} > > Or, if I get my way, with :has(): > > ul:has(+p) > li {...} Given that the subject indicator is dropped [1], and `:has()` is not going to be available in fast profile (and therefore in CSS) [2], it probably makes sense to reconsider adding the previous-sibling combinator available in CSS. [1] https://lists.w3.org/Archives/Public/www-style/2014Feb/0617.html [2] http://dev.w3.org/csswg/selectors/#fast-profile
Received on Thursday, 22 January 2015 00:33:23 UTC