- From: Andrew Fedoniouk <news@terrainformatica.com>
- Date: Fri, 08 Jan 2010 09:13:40 -0800
- 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: your :any(#authors, #publications) should be written as: :i-swear-i-want-any-of-these(#authors, #publications) Cheers, -- Andrew Fedoniouk. http://terrainformatica.com
Received on Friday, 8 January 2010 17:13:17 UTC