Использование CSS для вставки текста
Я относительно новичок в CSS и использовал его для изменения стиля и форматирования текста.
теперь я хотел бы использовать его для вставки текста, как показано ниже:
<span class="OwnerJoe">reconcile all entries</span>
который, я надеюсь, я мог бы показать как:
задача Джо: согласовать все записи
то есть, просто в силу принадлежности к классу "владелец Джо", я хочу текст Joe's Task:
для отображения.
Я мог бы сделать это с Код например:
<span class="OwnerJoe">Joe's Task:</span> reconcile all entries.
но это кажется ужасно избыточным как для указания класса, так и для текста.
возможно ли сделать то, что я ищу?
редактировать одна идея состоит в том, чтобы попытаться настроить его как ListItem <li>
где "пуля" - это текст"задача Джо". Я вижу примеры того, как устанавливать различные стили пуль и даже изображения для пуль. Можно ли использовать небольшой блок текста для списка-пуля?
6 ответов
это так, но требуется браузер с поддержкой CSS2 (все основные браузеры, IE8+).
.OwnerJoe:before {
content: "Joe's Task:";
}
но я бы скорее рекомендовал использовать Javascript для этого. С jQuery:
$('.OwnerJoe').each(function() {
$(this).before($('<span>').text("Joe's Task: "));
});
ответ с использованием jQuery, который всем нравится, имеет главный недостаток, который не масштабируется (по крайней мере, как написано). Я думаю, что у Мартина Хансена есть правильная идея, которая заключается в использовании HTML5 data-*
атрибуты. И вы даже можете использовать апостроф правильно:
HTML-код:
<div class="task" data-task-owner="Joe">mop kitchen</div>
<div class="task" data-task-owner="Charles" data-apos="1">vacuum hallway</div>
css:
div.task:before { content: attr(data-task-owner)"'s task - " ; }
div.task[data-apos]:before { content: attr(data-task-owner)"' task - " ; }
выход:
Joe's task - mop kitchen
Charles' task - vacuum hallway
также проверьте функцию attr () атрибута содержимого CSS. Он выводит данный атрибут элемента в виде текстового узла. Используйте его так:
<div class="Owner Joe" />
div:before {
content: attr(class);
}
или даже с новыми атрибутами пользовательских данных HTML5:
<div data-employeename="Owner Joe" />
div:before {
content: attr(data-employeename);
}
Это больше шаблонная вещь, чем стильная вещь.
Templating как при применении представления к модели данных.
оформить заказ ус.