quotes
quotes定义嵌套引用类型,简单点说就是为内容添加引用符号,用什么符号完全自定义,它默认是有继承性的,属性值可以是none,inherit
。
<style>
q {
quotes: "\"" "\"" "(" ")";
}
</style>
<p><q>你好<q>我的</q>朋友</q></p>
结果:
你好
我的
朋友
在上面的嵌套引用中,"\"" "\""
表示外部引用的符号,转义后的双引号,"(" ")"
表示内部的嵌套内容的符号,这里用了括号。
content
content属性用于插入生成内容,必需结合::before
和::after
伪元素一起使用,表示在元素之前或之后插入生成内容,它是一个行内元素,默认属性值normal
,可选值none, inherit
。
我通常用它插入字体图标,其实它的功能远非如此,下面是我写的一个小例子:
只看前四个例子,例1插入了一段文本,比较简单。例2插入一对双引号,在这个例子中用到了quotes, open-quote, close-quote
,这三个属性必须配合使用才能自定义引用符号,quotes
用于定义插入的符号,open-quote, close-quote
表示在内容的开始和结尾插入你定义符号。在例3中我插入一张图片,利用的是content的url
方法。例4中利用了attr
方法可以插入元素的属性值,比较少用。
counter-increment
该属性简单来说就是个计数器,其实它挺复杂的,必须配合content属性的counter()
方法一起使用,在例5中有两行关键代码counter-increment: title
表示为元素添加一个计数器,content: counter(title)'.'
表示显示计数器,默认增量是1,从0开始递增。在例6中有这样一行代码content: counter(title, upper-alpha)
,counter的第二个参数upper-alpha
表示计数器的显示方式,和ul元素的list-style-type
属性值相同。计数器是可以嵌套使用的,例7中使用了两个计数器,一个定义大标题计数器,一个定义子标题计数器。
counter-reset
该属性表示重置计数器。从上面的例7中可以看出,当我使用两个计数器时,每个计数器都是从1开始排序,但是我想要子标题的计数在每个父标题下都重新计数,这就需要使用counter-reset
重置子标题的计数器,例8比例7多了一行关键代码counter-reset: subtitle
,最终结果子标题的计数就重置了
结语
以上只是简单的对计数器的介绍,深入理解可以看张鑫旭老师的两篇文章:
小tip:CSS计数器+伪类实现数值动态计算与呈现