在 html 中假设我手上有两个标签<code>
and <pre>
我想编写预先格式化的代码,那么这些标签的顺序重要吗?例如。以下内容等价吗?
<!DOCTYPE html>
<html>
<body>
<p>Code example:</p>
<pre><code>var person = {
firstName:"John2",
lastName:"Doe"
}</code></pre>
</body>
</html>
现在我筑巢<pre>
在 - 的里面<code>
tag,
<!DOCTYPE html>
<html>
<body>
<p>Code example:</p>
<code><pre>var person = {
firstName:"John2",
lastName:"Doe"
}</pre></code>
</body>
</html>
上述两种方法在技术上有什么区别吗?
附录:我也不明白这里的html代码是如何翻译的。在第一个版本中,代码标签内的文本应翻译为不保留额外空格和换行符的内容,因此 pre 标签应看到代码标签的输出,并且不应呈现额外的空格和换行符。
在第二种情况下,应将 pre 标签的输出提供给 code 标签。现在,代码标签将看到保留的额外空格和换行符,但代码标签的输出不应保留它们,因为这就是代码标签的作用;它放弃了额外的空格和换行符。
这些标签的顺序重要吗?例如。有以下几种
相等的?
尽管两种方式的输出是等效的,但顺序does编写有效且语义化的 html5 代码时很重要
根据HTML5规范 https://www.w3.org/TR/html5/grouping-content.html#the-pre-element关于<pre>
元素:
可以使用该元素的上下文:其中流动内容是
预期的。
而关于the <code> element https://www.w3.org/TR/html5/text-level-semantics.html#the-code-element:
可以使用该元素的上下文:其中措辞内容是
预期的。
(短语内容是文档的文本,以及在段落内标记该文本的元素。(spec https://www.w3.org/TR/html5/dom.html#phrasing-content-1))
上述两者之间有技术上的区别吗
方法?
是的。在 code 元素中嵌套 pre 元素不是有效的 html5(使用这个验证器 https://html5.validator.nu/)并产生错误:
错误:元素 pre 不允许作为此元素代码的子元素
语境。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)