我想在我的博文中放 C、c++、JAVA 和 HTML 代码,我发现很多网站都有块引用、代码和其他标签。我应该使用哪一个(谷歌会喜欢哪一个)。请告知是否有任何新的 HTML 标签可用。谢谢
2 回答
有pre
和code
。这就是stackoverflow所做的。
<pre><code>
Your code here
</code></pre>
作为额外的奖励,StackOverflow 使用Google Code Prettify来添加语法高亮。
“哪个 google 会喜欢”这个问题的答案是,Google 搜索可能会忽略您将用于代码的任何标记。至少谷歌有相反的声明或任何影响的经验证据。
从 HTML 的早期开始,code
标记就被定义为计算机代码(有点含糊,但通常解释为至少涵盖编程语言和标记语言)。对此没有新的标记。然而,W3C HTML5 草案评论说:“虽然没有正式的方式来指示被标记的计算机代码的语言,但希望使用所用语言标记代码元素的作者,例如,以便语法高亮脚本可以使用正确的规则,可以通过向元素添加一个前缀为“language-”的类来实现。” 所以你可以写
<code class="language-C">i++</code>
但这只是一个建议的约定,可能不会被任何相关软件认为有什么特别之处;这只是一个关于造型的想法,真的。
除了少数例外,使用标记的唯一真正影响code
是它默认使字体等宽(并将字体大小减小到大约 90%)。
该pre
元素表示预先格式化的文本,因此它基本上是展示性的,可以用white-space: pre
CSS 中的使用来代替。在实践中,默认情况下它还暗示等宽字体(并减小字体大小)。
从理论上讲,该blockquote
元素意味着从外部来源引用。所以它与计算机代码或人类语言完全正交。实际上,除了在所有方面设置默认边距外,它几乎没有任何其他影响。
提到的元素都没有改变解释 HTML 文档中 HTML 标记的规则。所以你不能直接写a<b
or <p>
or a&b
; 这些字符<
仍然&
需要通过 HTML 规则进行转义。
从广义上讲,谷歌并不是完全不了解这里讨论的标记。谷歌翻译器将code
内容视为本质上不可翻译(即,它保持其内容完整,而不是翻译关键字和标识符),这主要是好的(对于代码本身;而不是评论)。奇怪的是,它似乎以同样的方式对待pre
,blockquote
没有明显的原因。