当前位置: 首页 > 面试题库 >

HTML5为什么建议将代码元素放在pre里面?

司徒河
2023-03-14
问题内容

HTML5文档建议将code元素放在pre元素中,但是我不明白这比仅使用代码元素和CSS更好或更语义。在他们自己的示例中:

<pre><code class="language-pascal">var i: Integer;
begin
   i := 1;
end.</code></pre>

也可以这样写(对的浏览器默认值做出一些假设pre):

<style>
code {
    display: block;
    white-space: pre;
}
</style>
…
<code class="language-pascal">var i: Integer;
begin
   i := 1;
end.</code>

即使pre是有区分代码 从代码内联串,我不认为它是一个更语义选择,而不是指定 块岬code一类。

是否有pre通过CSS解决方案推荐的特定原因?


问题答案:

<code>只代表 “计算机代码片段” 。它最初被认为是用于诸如i++或的简单代码段<code>

<pre> “表示一块预格式化的文本,其中结构由印刷约定而不是元素表示” 。它的原始目的无非就是这个:以作者指定的方式提供文本,例如

+ ---------------------------------- +
| |
| 警告!预先准备好的文字!| = o =
| __; 〜^
+ ---------------- TT ------------°
                 || _____________ _____________________
                 || | 对格兰德> | 完全不是陷阱>
  oÖo|| |°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°          
   | ö|| | | .mm,                    
〜“”“〜”“ ~~”“〜”“”〜“”“〜”“ ~~”“”〜“”“〜”“”〜“”〜“”〜“”〜“ “”“〜”“”〜“”〜“” .. MWMWc ...〜“”“〜”“

您无需彼此使用。<pre>有自己的作用,就像<code>有自己的作用。但是,这<pre>是一种信号,表明给定片段中的空白很重要,<code>而缺少该角色。

但是,回到您的问题:请注意 确切的 措辞:

下面的示例示出了如何一个代码块 可以 使用被标记precode元素。

<pre><code class="language-pascal">var i: Integer;
begin
   i := 1;
end.</code></pre>

在该示例中使用一个类来指示所使用的语言。

它说 可以 ,不 应该 。您可以按自己的意愿随意执行此操作。W3C不建议以任何方式使用它,但是,我个人建议您使用<pre><code>...

进一步说明

只要空格是您的代码和代码结构的一部分,就应声明应保留此结构。由于代码的结构是由印刷约定(制表符,换行符,空格)给出的,因此我 个人
建议您使用<pre><code>,即使它可以说是更多的代码和DOM中的另一个节点。但是,每当缺少空白会导致您的代码不完善时,就必须这样做。

除此之外,您无需检查即可轻松地在内联代码和代码块之间进行区分element.className,并且某些JS语法突出显示工具可以很好地工作<pre><code>...<code>自动删除。

另外,如果您对<code>with 使用通用规则white- space:pre;,那么在没有其他类的情况下,不能将其用于内联代码段。如果您要创建一个班级,那么与相比,您将一无所获<pre><code>



 类似资料:
  • 本文向大家介绍为什么建议Fragment包裹元素?它的简写是什么?相关面试题,主要包含被问及为什么建议Fragment包裹元素?它的简写是什么?时的应答技巧和注意事项,需要的朋友参考一下 为一个组件添加多个元素,可以讲你的子组件列表添加到一个分组中(<></>),并且不会再DOM增加额外节点

  • 一般情况下,浏览器会将网页中所有额外的回车和空格进行压缩,并根据窗口的大小自动换行。如果希望文本能够按预先定义好的格式原样显示,就可以使用pre元素。 pre元素表示一块被格式化的文本,其作用是保留原始文本的排版效果,也就是说,被包围在 pre元素中的文本,通常会保留回车、换行、空格、制表符等。因此,它是展示计算机程序源代码的理想元素。 当用 pre元素来展示源代码时,最好的方式是用 code 元

  • 本文向大家介绍HTML5 Canvas元素有什么用?相关面试题,主要包含被问及HTML5 Canvas元素有什么用?时的应答技巧和注意事项,需要的朋友参考一下 Canvas 元素用于在网页上绘制图形,该元素标签强大之处在于可以直接在HTML上进行图形操作,

  • 如果我在锚元素中放置div元素,它会使我的超文本标记语言无效。 不在内联元素中放置块级元素的原因是什么?

  • 问题内容: 谁能解释为什么在Python中将单个元素元组解释为该元素? 和 他们为什么不只是将元组打印为? 请参阅以下示例: 问题答案: 单个元素元组永远不会被视为包含的元素。括号对分组最有用,而不是对元组的创建。逗号会这样做。 他们为什么不只将(1,)打印为(1)? 可能是因为打印内置容器类型提供了一种表示形式,可用于通过表示重新创建容器对象,例如: 的docs在此方面提供了一些清晰度: 如果可

  • 问题内容: window.onload = function(){ 这是我的代码,当我单击“文本”时,它将向您提示两次,但是当我单击该框时,该元素将仅触发一次,为什么? 问题答案: 当您单击标签时,它会触发单击处理程序,并且您会收到警报。 但是单击标签还会自动将click事件发送到关联的输入元素,因此将其视为对复选框的单击。然后事件冒泡会导致在包含元素(即标签)上触发click事件,因此您的处理程