假设您的HTML文档中包含以下内容:
<style>
ul.foo > li {
/* etc */
}
</style>
HTML格式的有效语法是将大于子选择器转义为$gt;
吗?
<style>
ul.foo > li {
/* etc */
}
</style>
我理解not necessary,但这是好形式吗?
答案 0 :(得分:3)
它是有效的HTML,但不是有效的CSS,因为嵌入的样式表根本没有被解析为HTML;它被解析为CSS,这意味着从字面上看function\s+(?<functionName>\w+)\s*\((?<functionArguments>(?:[^()]+)*)?\s*\)\s*(?<functionBody>{(?:[^{}]+|(?-1))*+})
。 >
不是有效的选择器,因此它不是有效的CSS。
这只适用于HTML;在XHTML中, 有效,浏览器 将<{1}}解码为>
,然后将样式表解析为CSS。以下数据URI演示了这一点:
>
就像在HTML中一样,在这个特定的上下文中没有必要,因为你链接的问题中给出的原因,但它仍然被认为是格式良好的XHTML。但一般来说,将嵌入式脚本和样式表放入CDATA部分比编码每个>
,data:application/xhtml+xml,<html xmlns="http://www.w3.org/1999/xhtml"><head><style>ul.foo>li{color:red}</style></head><body><ul class="foo"><li>Foo</li></ul></body></html>
和<
更受欢迎:
>