W3C home > Mailing lists > Public > www-style@w3.org > January 2010

Re: [css3-selectors] Grouping

From: Andrew Fedoniouk <news@terrainformatica.com>
Date: Fri, 08 Jan 2010 09:13:40 -0800
Message-ID: <4B4767C4.4090200@terrainformatica.com>
To: "Tab Atkins Jr." <jackalmage@gmail.com>
CC: Nikita Popov <privat@ni-po.com>, www-style list <www-style@w3.org>
Tab Atkins Jr. wrote:
> On Fri, Jan 8, 2010 at 7:55 AM, Nikita Popov <privat@ni-po.com> wrote:
>> It would be much more convenient to group parts, that aren't changing:
>> .add
>> (#authors input, #authors select, #authors textarea,
>> #publications input, #publications select, #publications textarea)
>> {
>> ...
>> }
>> Or even
>> .add (#authors, #publications) (input, select, textarea)
>> {
>> ...
>> }
>> The code gets shorter and more readable.

Usual advice is to assign proper classes to elements.
(But I shall admit that is not even possible in some CSS use cases)

> I've asked for this before, under the :any() pseudoclass.  It works
> just as you have it - that last rule would be written as ".add
> :any(#authors,#publications) :any(input,select,textarea)".  It's
> really a necessity for many cases where you end up with a
> combinatorial explosion of selectors - this one selector replaces six
> nearly identical ones.
> Implementors have agreed that it's basically just syntax sugar, and
> wouldn't require any special mechanics or cause performance
> regressions.  It's just not in a draft yet, is all.

But combinatorial explosion of selectors is still there. Such form
of notation does not reduce number of CPU ops needed to resolve
styles of elements.

Even opposite, such forms as:

   .add (#authors, #publications) (input, select, textarea)

may easily lead to even more rules that needs to be handled.

I mean that ideally complexity of notation of selectors should
reflect complexity of their processing. In this case CSS authors
will be motivated to keep styles manageable.

As an example:


   :any(#authors, #publications)

should be written as:

   :i-swear-i-want-any-of-these(#authors, #publications)


Andrew Fedoniouk.

Received on Friday, 8 January 2010 17:13:17 UTC

This archive was generated by hypermail 2.3.1 : Wednesday, 11 February 2015 12:34:32 UTC