- From: fantasai <fantasai.lists@inkedblade.net>
- Date: Fri, 19 Apr 2013 00:12:41 -0700
- To: www-style@w3.org
On 04/18/2013 05:27 PM, Hayato Ito wrote: > On Fri, Apr 19, 2013 at 2:44 AM, Tab Atkins Jr. <jackalmage@gmail.com> wrote: >> On Thu, Apr 18, 2013 at 1:44 AM, Hayato Ito <hayato@google.com> wrote: >>> The subject was changed. >>> On Wed, Apr 3, 2013 at 9:01 AM, Tab Atkins Jr. <jackalmage@gmail.com> wrote: >>>> On Tue, Apr 2, 2013 at 3:01 PM, Dimitri Glazkov <dglazkov@google.com> wrote: >>>>> Using scope-relative approach (which I love), what does >>>>> ::distributed(:scope) represent? >>>> >>>> Nothing. The scope element is a theoretical construct here >>>> representing a container for all the distributed elements, not a real >>>> element that you can do something with. >>> >>> I am now implementing relative selectors in blink. >>> As the first usecase of relative selectors, I've tried to use it in >>> '::distributed(..)' pseudo elements. >>> >>> Now I have a question. Let me use the following deduction: >>> >>> 1). content::distributed(> .hello) -> Please assume this matches. >>> 2). content::distributed(:scope > .hello) -> Matches. (1 and 2 >>> should be equivalent acccording to the defintion of relative >>> selectors). >>> 3). content::distributed(*:scope > .hello) -> Matches. >>> 4). content::distributed(content:scope > .hello) -> Matches. >>> 5). content::distributed(content > .hello) -> Should not match. >> >> I think that, for the purpose of ::distributed, the scope element >> should be an abstract container, not the actual <content> element. >> This container would act as an element for the purposes of selectors, >> but it has no tagname or any other quality to select on. So, #1, #2, >> and #3 would match, but #4 and #5 wouldn't, because the scoping >> element isn't named "content". > > I noticed that we don't need 4) and 5) to prove contradiction. See the > following example, introducing 4': > > 1). content::distributed(> .hello) -> Please assume this matches. > 2). content::distributed(:scope > .hello) -> Matches. (1 and 2 > should be equivalent according to the defintion of relative > selectors). > 3). content::distributed(*:scope > .hello) -> Matches. > 4'). content::distributed(* > .hello) -> Should not match. > > 3) matches, but 4') should not match. > > I think it is hard to justify using :scope in this context. I am > afraid that we should handle ':scope' in this context very *tricky* in > implementing this. Maybe the spec is wrong. > My proposal is using ':root' as suggested in the original thread. I don't see how using :root solves the problem any more than disallowing :scope. If there's no reason for :scope to be part of this syntax, let's just say it matches nothing. ~fantasai
Received on Friday, 19 April 2013 07:13:34 UTC