< p >CSS3中的attr()函数是一个很有用的函数,它允许我们从HTML元素中获取属性值,并用于样式的定义中。< /p >< pre >例如,我们可以在CSS样式中使用以下代码:
.content:after {
content: attr(data-tooltip);
}
这个样式将取出所有带有data-tooltip属性的HTML元素,并将该属性的值作为::after伪元素的内容来显示。
.content {
position: relative;
}
.content:hover:after {
display: block;
}
content元素的位置是相对的,当鼠标悬停在元素上时,伪元素就会被显示出来。当然,你可以用其他选择器来控制它何时被显示。
这里的attr()函数的正确用法是将属性名包裹在括号中,如下所示:
content: attr(data-tooltip);
如果想要给属性值添加引号,则需要用到CSS转义语法,这样就能正确解析它们了。
例如,如果data-tooltip的值是world,下面这行代码是可行的:
content: attr(data-tooltip, "Hi \"world!\" ");
这个样式将会替换::after伪元素的内容,显示为:
Hi "world!"
总之,CSS3的attr()函数可以在样式表中帮助我们轻松获取HTML元素中的属性值,并将它们应用到样式定义中。无论是使用data-属性还是其他HTML属性,我们都可以用这个函数来实现这个目的。< /pre >