我正在阅读 HTML5 规范,对于元素的scoped
属性style
,它指定:
该
scoped
属性是一个布尔属性。如果存在,则表示样式仅用于以style
元素父元素为根的子树,而不是整个Document
.
style
由具有属性且具有作为元素的父节点的元素声明的样式表scoped
是作用域的,作用域元素是该style
元素的父元素。
我试图确定是否可以通过范围样式表访问范围元素,或者只是范围元素子树的子节点。
我从 MDN复制了这个示例并对其进行了一些修改:
<article>
<div>The scoped attribute allows for you to include style elements mid-document. Inside rules only apply to the parent element.</div>
<p>This text should be black. If it is red your browser does not support the scoped attribute.</p>
<section>
<style scoped>
section {
color: red;
}
</style>
<p>This should be red.</p>
</section>
<section>
<p>Another section here</p>
</section>
</article>
当我在支持的浏览器(此时只有 Firefox)中运行示例时,文本This should be red
仍然是红色的。但是,没有section
元素作为范围元素的子元素。此外,“此处的另一个部分”不是红色的,因此该样式仅适用于范围元素。
有人可以确认此行为是否符合规范或 Mozilla 实现中的错误?