在HTML元素伪类after的attr方法中拼接字符串
基本content用法
CSS3的出现使得样式表的功能变得越来越强大,而某种意义上也可以说它让我们开发起来越来越容易了。CSS3里虽然有很多重量级的新特征出现——例如transitions, animations, 和 transforms,但有一个特征虽然不是那么抢眼,但却是非常的有用,它就是content
和attr
表达式,它们能在你的页面下面悄悄的使用CSS来生成内容,下面让我们看看attr
和content
如何相互配合产生神奇效果的。
content
属性能让程序员使用CSS往页面元素里填写内容:
.myDiv:after { content: "我是一个使用*content*属性生产的静态文字"; }
请注意,如果想让伪元素:after
绝对定位,你必须对你的div
设置position: relative
。
content和attr以及字符串链接
如果你不想把content
内容在CSS里写死,那你可以使用attr
表达式来从页面元素中动态的获取内容:
<div data-line="1"></div>
div[data-line]:after {
content: attr(data-line); /* 属性名称上不要加引号! */
}
attr
属性通常和自定义属性data-
配合使用,因为传统的其它属性虽然也能存值,但通常不适合存放表达性文字。
当然也可以在attr中进行字符串的拼接!!这种字符串连接很像常规编程语言了:
<div data-line="yy">xx</div>
div[data-line]:after {
content: "[line-" attr(data-line) "]";
}
最后显示的结果就是xx[line-yy]。
attr
的动态生成页面内容的能力着实是一件让人兴奋的事情。你实际上可以用它配合content
对页面的很多其他元素和属性进行操作。