Я использую CSS (через JQuery, но не имеет отношения к этому вопросу), чтобы выделить определенные элементы в файле HTML: я использую теги «pre», чтобы отделить логические элементы в моем файле, но я заметил, что теги «pre» кажется, оставляют новые строки между элементами.
Могу ли я избавиться от них с помощью CSS?
(Или что мне использовать вместо тегов «pre»? Текстовые элементы могут содержать сами элементы HTML: которые не должны не отображаться и должны отображаться буквально как исходный код: отсюда мой первоначальный выбор с "предварительные" теги)
Вот пример используемого мной 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, притворись, что он красный!)
РЕШЕНИЕ:
Использовать display:inline для всех тегов PRE. (Ранее я применял display:inline только к тегам error в приведенном выше примере и забыл сделать то же самое для предварительных тегов ok.