gpt4 book ai didi

html - Web 浏览器如何翻译 html 中的嵌套标签以及嵌套标签的顺序如何处理?

转载 作者:搜寻专家 更新时间:2023-10-31 23:23:50 28 4
gpt4 key购买 nike

在 html 中,假设我手头有两个标签 <code><pre>我想编写预格式化的代码,那么这些标签的顺序有关系吗?例如。以下是否等价?

<!DOCTYPE html>
<html>
<body>

<p>Code example:</p>
<pre><code>var person = {
firstName:"John2",
lastName:"Doe"
}</code></pre>

</body>
</html>

现在我嵌套<pre><code>里面标记,

<!DOCTYPE html>
<html>
<body>

<p>Code example:</p>
<code><pre>var person = {
firstName:"John2",
lastName:"Doe"
}</pre></code>

</body>
</html>

以上两种方法在技术上有什么区别吗?

附录:我也不明白这里的 html 代码是如何翻译的。在第一个版本中,代码标签内的文本应该被翻译成不保留额外的空格和换行符的内容,因此 pre 标签应该看到代码标签的输出并且不应该呈现额外的空格和换行符。

在第二种情况下,pre 标签的输出应该提供给代码标签。现在代码标签将看到保留的额外空格和换行符,但代码标签的输出不应该保留它们,因为代码标签就是这样做的;它放弃了额外的空格和换行符。

最佳答案

does the ordering of these tags matter? E.g. Are the following equivalent?

虽然两种方式的输出都是等价的,但是在编写有效且语义化的 html5 代码时,顺序确实很重要

根据html5 spec关于 <pre>元素:

Contexts in which this element can be used: Where flow content is expected.

而关于 the <code> element :

Contexts in which this element can be used: Where phrasing content is expected.

(短语内容是文档的文本,以及在段落内标记该文本的元素。(spec))

Would there be any technical difference between the above two approaches?

是的。在代码元素中嵌套 pre 元素不是有效的 html5(使用 this validator )并产生错误:

Error: Element pre not allowed as child of element code in this context.

关于html - Web 浏览器如何翻译 html 中的嵌套标签以及嵌套标签的顺序如何处理?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34989272/

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