4 回答
TA贡献1811条经验 获得超5个赞
它是,但是需要具有CSS2功能的浏览器(所有主要浏览器,IE8 +)。
.OwnerJoe:before {
content: "Joe's Task:";
}
但我宁愿为此使用Javascript。使用jQuery:
$('.OwnerJoe').each(function() {
$(this).before($('<span>').text("Joe's Task: "));
});
TA贡献1835条经验 获得超7个赞
每个人似乎都喜欢使用jQuery的答案有一个主要缺陷,那就是它不可扩展(至少在编写时如此)。我认为Martin Hansen有正确的想法,那就是使用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
TA贡献1804条经验 获得超8个赞
还要检查CSS content属性的attr()函数。它将元素的给定属性输出为文本节点。像这样使用它:
<div class="Owner Joe" />
div:before {
content: attr(class);
}
甚至使用新的HTML5自定义数据属性:
<div data-employeename="Owner Joe" />
div:before {
content: attr(data-employeename);
}
- 4 回答
- 0 关注
- 2613 浏览
相关问题推荐
添加回答
举报