CSS表达式 attr() 用来获取选择到的元素的某一HTML属性值,并用于其样式。
它也可以用于伪元素,属性值采用伪元素所依附的元素。
attr() 表达式可以用于任何CSS属性。
语法:
- attr( attribute-name <type-or-unit>? [, <fallback> ]? )
ttr()功能早在CSS 2.1标准中就已经出现,但现在才开始普遍流行。
它提供了一个巧妙的方法在CSS中使用HTML标签上的属性,在很多情况下都能帮你省去了以往需要Javascript处理的过程。
要想使用这个功能,你需要用到三种元素:一个:before 或 :after CSS伪类样式, .content属性,和一个带有你想使用的HTML属性名称的attr()表达式。
例如,想去显示<h3>标题上的data-prefix属性的值,你可以写成这样:
CSS Code复制内容到剪贴板- h3:before {
- content: attr(data-prefix) " ";
- }
- <h3 data-prefix="Custom prefix">This is a heading</h3>
显然,这个例子并没有展示它有多大用处,只是展示了它的基本用法。
让我们来试一个更有用的例子,attr()的一个极好的应用就是当用户打印页面时将页面链接显示出来。
为了实现这个,你可以这样写:
CSS Code复制内容到剪贴板- @media print {
- a:after {
- content: " (link to " attr(href) ") ";
- }
- }
<a href="http://example.com">Visit our home page</a>
一旦你知道了这个技巧,你就会吃惊于很多时候它能给你的工作带来的方便!
提示:在新版的CSS3标准中,attr()功能被扩展,可以用在各种CSS标记中。
在CSS2.1中attr()总是返回一个字符串。
在CSS3中attr()可以返回多种不同的类型。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)