<style scoped>: matching the scoping element and :first-child et al

Hi all,

As I am implementing the new version of <style scoped> I came across
another edge case question:

In the upcoming version, a selector matches up to, and including, the
scoping element (i.e., the parent element of <style scoped>). Now, how
should pseudo-classes be handled on selectors that match the scoping
element? E.g.

<div>
    <div>...</div>
    <div>
        <style scoped>
             div:first-child { ... }
            div:first-of-type {  ... }
            div:nth-child(2) { ... }
            div:nth-of-type(2) { ... }
            div:last-child { ... }
            div:last-of-type { ... }
            div:nth-last-child(2) { ... }
            div:nth-last-of-type(2) { ... }
        </style>
    </div>
    <div>...</div>
<div>

On one hand, 'div:first-child' et al still only match the scoping <div>
element, and thus should be applicable. OTOH, the pseudo-classes draw
information from outside the sub-tree. I personally slightly tend towards
allowing it, but could easily be swayed by good arguments otherwise.

What do others think?


Cheers,

- Roland

Received on Friday, 9 December 2011 06:58:41 UTC