【发布时间】:2017-04-06 10:42:07
【问题描述】:
谁能告诉我 HTML5 规范中的以下段落是什么意思?关于<style>元素内容的处理:
https://www.w3.org/TR/html5/document-metadata.html#the-style-element
必须处理所有后代元素,根据它们的 语义,在样式元素本身被评估之前。用于造型 由纯文本(相对于 XML)、用户代理组成的语言 必须通过传递 作为样式元素的子节点的所有文本节点的内容 (不是任何其他节点,例如 cmets 或元素),按树形顺序, 风格系统。对于基于 XML 的样式语言,用户代理必须 将样式元素的所有子节点传递给样式系统。
在我看来,这听起来像是 HTML 解析器应该在将结果文本发送到样式系统之前删除 <style> 元素内的所有 HTML 元素和 cmets。
HTML 注释中的内容也是一个文本节点,但它不是样式元素的直接子元素,因此不应包含在发送到样式系统的文本中。
现代浏览器似乎没有对样式元素中的 cmets 或元素进行任何处理,而是将样式内容视为与 HTML 4 一致的 CDATA。但是 HTML5 规范中的这一段说这是不正确的行为,不是吗?如果不是,我错过了什么?
【问题讨论】:
标签: css html html-parsing specifications