Re: [selectors] Proposal: :only-of(selector list)

> On Nov 12, 2014, at 8:30 PM, Benjamin Poulain <benjamin@webkit.org> wrote:
> 
> On 11/11/14 4:14 PM, Tab Atkins Jr. wrote:
>> On Mon, Nov 10, 2014 at 8:40 PM, Benjamin Poulain <bpoulain@apple.com> wrote:
>>> It looks like it would be useful to include :only-of(selector list) in Selectors Level 4.
>>> 
>>> It is already possible to achieve the same behavior by using :nth-child(1 of selector list):nth-last-child(1 of selector list) but that is significantly uglier. Repeating the selector list is error prone when updating the stylesheet and the specificity is doubled.
>>> 
>>> The selector :only-of(selector list) would behave like :nth-child(1 of selector list):nth-last-child(1 of selector list) but with lower specificity (accounting for the selector list once instead of duplicating it). The definition of :only-of-type is pretty much the same.
>>> 
>>> The implementation is trivial based on the existing :nth-child() and :nth-last-child(). The single :only-of() is likely to be more efficient than :nth-child():nth-last-child() in most implementations.
>> 
>> Do you have some use-cases to share that would use this?
> 
> Pretty much the same uses use cases of :only-of-type and :only-child exists for :only-of.
> 
> Many designs are based on classes or data attributes. Having :only-of-type does not help in those cases.

I got some more feedback asking for this feature.

One of the use case is paginated documents where each page is identified by a class. The page number should only be displayed if there is more than one page in the document. Having :only-of() makes the implementation trivial.

Benjamin 

Received on Friday, 14 November 2014 01:12:17 UTC