45

由于显而易见的原因,左尖括号不能在 HTML 文本中按字面意思使用。右尖括号的状态不是很清楚。当我尝试它时它确实有效,但是众所周知,浏览器会容忍不是严格有效的 HTML 的构造。

http://www.w3.org/TR/html4/charset.html#h-5.4似乎在说它是有效的,虽然可能不被旧浏览器支持,但也特别提到了引用的属性值。是否有必要对右尖括号进行 html 编码?还说它是有效的,但再次专门讨论引用的属性值。

纯文本块的答案是什么(<pre>元素的内容恰好是我正在查看的情况),它有什么不同吗?

4

2 回答 2

77

字符“>”可以用作任何版本的 HTML 中的数据字符,包括元素内容和属性值。这是因为规范中没有任何相反的声明。

它经常被转义为&gt;,这是有效的,但出于任何形式或技术原因都不需要。使用它的部分原因是人们认为它的需要与“<”相同 字符需要被转义,部分是为了对称:比如说,写作&lt;code&gt;可能看起来比&lt;code>.

字符“>”是大于字符。它在许多上下文中使用,例如 HTML 标记,作为一种分隔符,以类似括号的方式,但在某些数学符号中使用的真正的尖括号是相当不同的,例如“⟩” U+27E9 . 如果您需要在 HTML 文档中包含尖括号,则需要考虑一些严重的问题,但它们与字体(和语义)有关,而不是与标记有效字符的任何潜在冲突。

于 2012-05-05T13:40:24.690 回答
1

直角括号在<pre>标签内或作为元素内的文本是合法的。

以这种方式使用它们时没有歧义,解析器对“理解”它们没有任何问题。

就个人而言,我只是在需要使用它们时逃避这些,只是为了匹配左尖括号......

于 2012-05-05T13:32:59.217 回答