使用CSS来插入文本
我相对较新的CSS,并用它来改变文本的风格和格式。
我现在想用它来插入文本,如下所示:
<span class="OwnerJoe">reconcile all entries</span>
我希望我可以展示为:
乔的任务:协调所有条目
也就是说,简单地凭借“所有者乔”类,我想要显示文本Joe's Task:
。
我可以用代码来做到这一点:
<span class="OwnerJoe">Joe's Task:</span> reconcile all entries.
但是,对于指定类和文本来说,这似乎是非常多余的。
有可能做我想找的东西吗?
编辑一个想法是尝试将其设置为一个ListItem <li>
其中“子弹”是文本“乔的任务”。 我看到如何设置各种子弹样式,甚至子弹图像的例子。 列表中是否可以使用一小段文本?
这是,但需要一个CSS2function的浏览器(所有主stream浏览器,IE8 +)。
.OwnerJoe:before { content: "Joe's Task:"; }
但我宁愿推荐使用Javascript。 使用jQuery:
$('.OwnerJoe').each(function() { $(this).before($('<span>').text("Joe's Task: ")); });
每个人似乎都喜欢使用jQuery的答案有一个主要的缺陷,这是不可扩展的(至less如它所写)。 我认为Martin Hansen有正确的想法,即使用HTML5数据属性。 你甚至可以正确使用撇号:
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 - " ; } output: Joe's task - mop kitchen Charles' task - vacuum hallway
同时检查CSS内容属性的attr()函数。 它将元素的给定属性作为文本节点输出。 像这样使用它:
<div class="Owner Joe" /> div:before { content: attr(class); }
甚至是新的HTML5自定义数据属性:
<div data-employeename="Owner Joe" /> div:before { content: attr(data-employeename); }
只需要像这样编码:
.OwnerJoe { //other things here &:before{ content: "Joe's Task: "; } }
这更像是一种模仿的东西,而不是一个造型的东西。
在对数据模型应用视图时进行模板化。
结帐小胡子 。
这是最简单的方法吗?
$('.OwnerJoe').prepend("Joe's Task: ");