为什么代码在代码块中呈现?

时间:2009-02-15 23:18:11

标签: html tags

我想在网页中显示HTML。我已经包装了一个代码块,但最后两行仍然执行/渲染。我做错了什么?

<pre><code>
div {background: brown;}
div.bluebg {background: blue;}
<div>default brown background</div>
<div class="base">blue background</div>
</code></pre>

最后两行用div标签包装。我注意到stackoverflow剥离它们。我不想剥离它们,但我想用&lt; and &gt;进行修改。是否有应修改标签的列表以在网页中呈现它们?是否有可以将这些转换为上述语法的在线程序?

3 个答案:

答案 0 :(得分:10)

我不认为[那些标签]意味着你认为他们的意思。

<pre>可让您保留空白区和换行符。 <code>允许您在语义上指示代码正在页面上显示。两者都有一些默认样式(例如应用固定宽度的字体),但是没有人做任何事情来逃避<>&",所以任何您放在这些标记之间的非转义HTML代码将作为HTML处理。您必须使用&lt;&gt;&amp;&quot;。这是一个页面,您可以在其中粘贴文本并将其转义:http://accessify.com/tools-and-wizards/developer-tools/quick-escape/

答案 1 :(得分:4)

您需要将<替换为&lt;,将>替换为&gt;,将&替换为&amp;,这就是它。

答案 2 :(得分:1)

根据您帖子的内容判断我假设您正在谈论在Stack Overflow上显示Markdown中的代码。

不要将代码包装在<pre><code>中,只需将其缩进4个空格,如下所示:

div {background: brown;}
div.bluebg {background: blue;}
<div>default brown background</div>
<div class="base">blue background</div>

Markdown实际上会解析HTML(至少these tags),如您所见。在降价之外,您仍然需要将<div>更改为&lt;div&gt;才能正确呈现 - 使用code / pree不会停止呈现代码。