gpt4 book ai didi

html - 尖括号是否需要在嵌套样式元素中进行 HTML 转义?

转载 作者:太空宇宙 更新时间:2023-11-03 22:41:10 25 4
gpt4 key购买 nike

假设您的 HTML 文档中有以下内容:

<style>
ul.foo > li {
/* etc */
}
</style>

HTML 将大于子选择器转义为 $gt; 的语法是否有效?

<style>
ul.foo &gt; li {
/* etc */
}
</style>

我知道它是 not necessary , 但它是好的形式吗?

最佳答案

它是有效的 HTML,但不是有效的 CSS,因为嵌入的样式表根本没有被解析为 HTML;它被解析为 CSS,这意味着 &gt;从字面上看。 &gt;不是有效的选择器,因此它不是有效的 CSS。

这仅适用于 HTML;在 XHTML 中,它有效的并且浏览器解码&gt;进入>在将样式表解析为 CSS 之前。以下数据 URI 证明了这一点:

data:application/xhtml+xml,<html xmlns="http://www.w3.org/1999/xhtml"><head><style>ul.foo&gt;li{color:red}</style></head><body><ul class="foo"><li>Foo</li></ul></body></html>

不过,就像在 HTML 中一样,由于您链接到的问题中给出的原因,在这个特定的上下文中没有必要,但它仍然被认为是格式良好的 XHTML。但一般来说,将嵌入式脚本和样式表放入 CDATA 部分优于对每个 < 进行编码。 , >& :

<style>
/* <![CDATA[ */
ul.foo > li {
/* etc */
}
/* ]]> */
</style>

关于html - 尖括号是否需要在嵌套样式元素中进行 HTML 转义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43922008/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com