我正在使用 CSS(通过 JQuery,但与此问题无关)突出显示 HTML 文件中的某些元素:我正在使用“pre”标签来分隔文件中的逻辑元素,但我注意到“pre”标签似乎在元素之间留下换行符。
我可以使用 CSS 摆脱这些吗?
(或者我应该使用什么来代替“pre”标签?文本元素本身可能包含 HTML 元素:不应该呈现,并且应该按字面意思显示为源代码:因此我最初选择使用“pre”标签)
这是我正在使用的 HTML 示例:(此示例需要http://docs.jquery.com/Downloading_jQuery )
<html>
<head>
<script type="text/javascript" src="http://code.jquery.com/jquery-1.4.4.min.js">
</script>
</head>
<body>
<pre class="error">
This is an error line.
stack.trace.blah.blah
more.blah.blah
yadda.yadda.blah</pre>
<pre class="ok">
this is not an error line.it contains html
<html><head></head><body>hello</body></html></pre>
<pre class="error">
This is an error line.
stack.trace.blah.blah
more.blah.blah
yadda.yadda.blah</pre>
<pre class="ok">
<script type="text/javascript">
$("pre.error").css({"background-color":"red","color":"white","display":"block","padding":"0", "margin":"0"});
</script>
</body>
</html>
我正在使用 Firefox 3.6.12。这就是上面代码的结果:
这是我想要的模拟输出(切换到黄色,只是因为我使用了我的 vim 编辑器,假装它是红色的!)
解决方案:
是对所有 PRE 标签使用 'display:inline'。(以前我只是将 'display:inline' 应用到上面示例中的 'error' 标签,而忘记对 'ok' pre 标签做同样的事情。