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>
Firefox3.6.12を使用しています。上記のコードの結果は次のとおりです。
そして、これは私が欲しいもののシミュレートされた出力です(これにvimエディターを使用したという理由だけで、黄色に切り替えました。赤いふりをしてください!)
解決:
すべてのPREタグに「display:inline」を使用します。(以前は、上記の例では「display:inline」を「error」タグにのみ適用していましたが、「ok」preタグにも同じことを行うのを忘れていました。