编程笔记 html5&css&js 058 css计数器

编程笔记 html5&css&js 058 css计数器

CSS 计数器是由 CSS 保持的"变量",其值可以通过 CSS 规则递增(以跟踪其使用次数)。计数器使您可以根据内容在文档中的位置来调整其外观。

一、带计数器的自动编号

CSS 计数器就像"变量"。变量值可以通过 CSS 规则递增(将跟踪它们的使用次数)。

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

counter-reset - 创建或重置计数器

counter-increment - 递增计数器值

content - 插入生成的内容

counter() 或 counters() 函数 - 将计数器的值添加到元素

复制代码
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	创建或重置一个或多个计数器。

练习

复制代码
<!doctype html>
<html lang = "zh-cn">
<head>
<meta charset = "UTF-8">
    <title>CSS响应式布局 编程笔记 html5&css&js</title>
    <style>
        body {
            text-align: center;
            counter-reset: section;
            color: cyan;
            background-color: teal;
        }
        h2::before {
            counter-increment: section;
            content: "第" counter(section) "章 ";
        }
    </style>
</head>
<body>
<h1>
    《青少年成长管理》
</h1>
<h2>成长工程</h2>
<h2>成长要素</h2>
<h2>成长目标</h2>
<h2>成长资源</h2>
<h2>专业选择</h2>
<h2>成长导师</h2>
<h2>时间管理</h2>
<h2>学习方法</h2>
<h2>常见问题</h2>
<h2>成长计划</h2>
<h2>项目计划</h2>
<h2>任务计划</h2>
<h2>计划执行</h2>
<h2>考核评价</h2>
<h2>调整改进</h2>
<h2>走进社会</h2>
<h2>改变世界</h2>
<h2>成就人生</h2>
</body>
</html>

小结

计数器可以使用有序列表具有自定义的格式,以满足实际需要。

相关推荐
前端李二牛3 分钟前
异步任务并发控制
前端·javascript
你也向往长安城吗24 分钟前
推荐一个三维导航库:three-pathfinding-3d
javascript·算法
karrigan34 分钟前
async/await 的优雅外衣下:Generator 的核心原理与 JavaScript 执行引擎的精细管理
javascript
wycode42 分钟前
Vue2实践(3)之用component做一个动态表单(二)
前端·javascript·vue.js
wycode2 小时前
Vue2实践(2)之用component做一个动态表单(一)
前端·javascript·vue.js
第七种黄昏2 小时前
Vue3 中的 ref、模板引用和 defineExpose 详解
前端·javascript·vue.js
我是哈哈hh2 小时前
【Node.js】ECMAScript标准 以及 npm安装
开发语言·前端·javascript·node.js
张元清3 小时前
电商 Feeds 流缓存策略:Temu vs 拼多多的技术选择
前端·javascript·面试
pepedd8643 小时前
浅谈js拷贝问题-解决拷贝数据难题
前端·javascript·trae
@大迁世界3 小时前
useCallback 的陷阱:当 React Hooks 反而拖了后腿
前端·javascript·react.js·前端框架·ecmascript