W3C home > Mailing lists > Public > www-style@w3.org > February 2014

Re: [shadow-styling] alternative idea.

From: Brad Kemper <brad.kemper@gmail.com>
Date: Sun, 9 Feb 2014 10:21:24 -0800
Cc: Andrew Fedoniouk <news@terrainformatica.com>, "<www-style@w3.org>" <www-style@w3.org>
Message-Id: <F1F6C3E2-89E4-4E10-BBF5-41D365C5185E@gmail.com>
To: Sylvain Galineau <galineau@adobe.com>

> On Feb 9, 2014, at 9:56 AM, Sylvain Galineau <galineau@adobe.com> wrote:
> On Feb 9, 2014, at 9:13 AM, Brad Kemper <brad.kemper@gmail.com> wrote:
>>> On Feb 8, 2014, at 3:37 PM, Andrew Fedoniouk <news@terrainformatica.com> wrote:
>>> (as an alternative to this: http://dev.w3.org/csswg/shadow-styling/)
>>> Let's imagine that we have @-rule named @shadow that defines block of
>>> rules applied to the shadow tree of some element:
>>> @shadow dropdown-select {
>>> :host > caption { ... }
>>> :host > button { ... }
>>> :host > popup-list { ... }
>>> :host > popup-list > option { ... }
>>> ...
>>> }
>>> where :host is the element it is applied to. Essentially
>>> @shadow {} defines style set of sub-tree that is rooted to the host element.
>>> To apply that shadow styling to the element we can add something
>>> like 'shadow' property so this:
>>> select[size=1] {
>>> shadow: dropdown-select; /* name of style set */
>>> }
>>> will apply @shadow dropdown-select to the shadow three of matching
>>> <select> elements.
>>> This schema does not require any new entities or syntax constructs:
>>> we have @-rules already, so it is a matter of adding new property.
>> That is actually the syntax I like best, especially if we can have a similar syntax with @region and @page (though I know @page would also require an extra block of braces or something to separate rules from the properties that already can be included directly within @page).
> I donĄŻt get why the host pseudo is necessary at all. If the rules within @shadow are meant to apply to a shadow tree, then just let :root do the job and map it to the shadow host when defined within @shadow.

That's fine with me. 

> It also seems very brittle; IĄŻll define my own @shadow rule and apply it using the shadow property only to discover IĄŻve overridden an entire other @shadow rule that came with the framework or library I use i.e. through the cascade, the shadow property will cause some surprises.

I'm not sure I follow. I'm assuming you could have as many concurrent @shadows as you want, just like you can have many @medias. If that's the case, how would @shadow be worse that \shadow or ::shadow or ::this-exposed-element?
Received on Sunday, 9 February 2014 18:21:56 UTC

This archive was generated by hypermail 2.3.1 : Monday, 2 May 2016 14:39:19 UTC