我遇到了同样的问题,花了一个多小时才找到解决方案。我同意@Fico 的回答,并希望通过其他信息来支持它。
而不是这样做:
<pre><code>
My code snippet
Another line
</code></pre>
你想这样做:
<pre><code> My code snippet
Another line
</code></pre>
请注意,您需要在第一行使用相同的空格进行缩进。
我查看了其他几个“标准网站”。例如,StackOverflow 对<pre><code>
. highlight.js 库的官方演示示例也使用相同的约定。这在 HTML 源代码中感觉有点难看,但经验法则似乎是你的内容应该从元素<code>
所在的同一行开始。<code>
@Marc Audet 提出的解决方案也存在问题。如果您使用负上边距,如果您有一个(或者如果您将来放置),它将覆盖在边框上。
如果您愿意使用一点点 JavaScript,则可能有解决方法。您基本上可以<pre><code>
通过使用以下内容来修剪里面的所有内容:
<script>
$( document ).ready(function() {
$(document.body).find("pre code").each(function() {
$(this).html($.trim($(this).html()));
});
});
</script>
你可以在这里看到小提琴:http: //jsbin.com/bayawazi/2/edit
JavaScript 方法的优点是您可以更自由地放置<code>
元素。大多数代码片段也可能是删除多余行的好主意。