- From: v-python via GitHub <sysbot+gh@w3.org>
- Date: Mon, 08 Apr 2019 05:14:23 +0000
- To: public-css-archive@w3.org
v-python has just created a new issue for https://github.com/w3c/csswg-drafts: == [selectors-4] need "first-matching-sibling" combinator == The current sibling combinators are: + select immediately following sibling if it matches ~ select any following siblings that match Neither of these can be used to select the first following sibilng that matches. Or the 2nd. I only need the first, in my current application, but could imagine that someone might need the Nth. This type of selection becomes useful when dealing with a grid containing hundreds or thousands of child elements of different types or classes. Yep, I have such. So the relationships between siblings become far more important when siblings become far more numerous. It doesn't seem that one can apply the currently defined :first-* to the subset of siblings selected by ~, as those all apply based on parentage, not a selected subgroup. Some syntax ideas: A: S1 ~1 S2 S1 ~2 S2 ... B: some other special character than ~ to just mean first, if Nth doesn't sound useful. C: some new pseudo-class that selects among a group :first-that-matches( selector ), nth-that-matches( selector ), :last-that-matches( selector ), :nth-last-that-matches( selector ). In this syntax, one would write S1 ~ :first-that-matches( S2 ) D: S1 ~:first S2 S1 ~:nth( n-expression ) S2 S1 ~:last S2 S1 ~:nth-last( n-expression ) S2 Please view or discuss this issue at https://github.com/w3c/csswg-drafts/issues/3813 using your GitHub account
Received on Monday, 8 April 2019 05:14:25 UTC