CSS 计数器

CSS 计数器

CSS 计数器是由 CSS 保持的变量,其值可以通过 CSS 规则递增。

自动编号

在HTML页面中,很多时候一些显示内容需要带上编号。我们就可以通过CSS技术器来实现,让其自动编号。

使用 CSS 计数器,我们将使用以下属性:

  • counter-reset – 创建或重置计数器
  • counter-increment – 递增计数器值
  • content – 插入生成的内容
  • counter() 或 counters() 函数 – 将计数器的值添加到元素

使用 CSS 计数器,必须首先使用 counter-reset 来创建它。

下例中为页面(在 body 选择器中)创建一个计数器,然后为每个 <h2> 元素增加计数器值,并在每个 <h2> 元素的开头添加 "Section <value of the counter>:":

body {
  counter-reset: section;
}

h2::before {
  counter-increment: section;
  content: "Section " counter(section) ": ";
}

试一试

嵌套计数器

下面的例子为页面(section)创建一个计数器,为每个 <h1> 元素(subsection)创建一个计数器。

"section" 计数器为每个 <h1> 元素计数,同时写入 "Section" 以及 section 计数器的值,"subsection" 计数器为每个 <h2> 元素计数,同时写入 section 计数器的值以及 subsection 计数器的值:

示例

body {
  counter-reset: section;
}

h1 {
  counter-reset: subsection;
}

h1::before {
  counter-increment: section;
  content: "Section " counter(section) ". ";
}

h2::before {
  counter-increment: subsection;
  content: counter(section) "." counter(subsection) " ";
}

试一试

计数器对于创建概述列表也很有用,因为在子元素中会自动创建一个计数器的新实例。在这里,我们使用 counters() 函数在不同级别的嵌套计数器之间插入一个字符串:

示例

ol {
  counter-reset: section;
  list-style-type: none;
}

li::before {
  counter-increment: section;
  content: counters(section,".") " ";
}

试一试

CSS 计数器属性

属性 描述
content 使用 ::before::after 伪元素来插入自动生成的内容
counter-increment 递增一个或多个值
counter-reset 创建或重置一个或多个计数器

原创文章,作者:ItWorker,如若转载,请注明出处:https://blog.ytso.com/59549.html

(0)
上一篇 2021年8月9日
下一篇 2021年8月9日

相关推荐

发表回复

登录后才能评论