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