#html #css
#HTML #css
Вопрос:
у меня есть HTML-код
<pre>
line 1
line 2
line 3
</pre>
как я могу придать некоторый css-стиль «строкам» внутри <pre>
, не добавляя в него другую оболочку?
я имею в виду что-то вроде
pre lines{ color: red}
у меня возникли трудности с поиском css-селектора для этого. Заранее спасибо.
Комментарии:
1. Что именно вы подразумеваете под «линиями»? Почему вы не можете придать цвет самому pre?
2. @Pekka: Что он имеет в виду, так это придать другой стиль каждой строке
3. @Shakti Я не уверен в этом — пример не ясен
4. Похоже, Ли хочет обрабатывать строки как отдельные разделы или около того, например, раскрасить их в полосы зебры или поместить в коробки… Я не знаю никакого способа сделать это без внутренних контейнеров…
5. Да, если вы хотите оформить каждую строку по отдельности, это невозможно в чистом HTML / CSS. Содержимое контейнера представляет собой текстовый узел, к нему нельзя обратиться специально для оформления.
Ответ №1:
Вы можете использовать этот маленький трюк CSS3 с градиентами. Это автоматически создаст эффект «зебры» без дополнительных интервалов:
background: #555;
background-image: -webkit-linear-gradient(#555 50%, #505050 50%);
background-image: -moz-linear-gradient(#555 50%, #505050 50%);
background-image: -ms-linear-gradient(#555 50%, #505050 50%);
background-image: -o-linear-gradient(#555 50%, #505050 50%);
background-image: linear-gradient(#555 50%, #505050 50%);
background-position: 0 0;
background-repeat: repeat;
background-size: 4.5em 4.5em;
Попробуйте другой CSS «line-height», чтобы текст отображался правильно.
смотрите: http://www.dte.web.id/2012/03/css-only-zebra-striped-pre-tag.html#.UUoV6lugkoM
Ответ №2:
Если вы хотите добавить цвет ко всем строкам в pre, просто добавьте
pre {color: red;}
Но если вы хотите добавить цвет к некоторым строкам, вам понадобится дополнительная разметка:
<pre>
<span>Line1</span>
line2
<span>Line3</span>
</pre>
pre span {color: red;}