编程笔记 html5cssjs 058 css计数器

news/2024/10/23 17:25:22/

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

  • 一、带计数器的自动编号
  • 二、嵌套计数器
  • 三、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>

小结

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


http://www.ppmy.cn/news/1333506.html

相关文章

Python 显示所有汉字

我们知道&#xff0c;在我们目前使用的计算机系统中&#xff0c;所有的数据都是以二进制形式表示的&#xff0c;而中文字符包含了大量的汉字、标点符号和其他特殊字符&#xff0c;需要通过编码方式将其转换为二进制数据进行处理。其中&#xff0c;中文编码是将中文字符表示为计…

SpringBoot和Vue接口调用传参方式

简单总结一下常用的传参方式&#xff0c;一些前后端分离项目接口调试时经常出现传参格式错误问题。 前后端进行交互时方法一般就分为get和post&#xff0c;至于后面的delete和put都是基于post进行封装而出的。 Http请求中不同的请求方式会设置不同的Content-Type,参数的传递方…

Ubuntu20.04 安装 ROS noetic + MAVROS

本文在 AlphaCatOvO【ROS】在 Ubuntu 20.04 安装 ROS 的详细教程 基础上&#xff0c;根据实际安装经验&#xff0c;稍微进行补充。 一、安装Ubuntu20.04 假设已经正确安装。 二、安装 ROS noetic 2.1 换源 执行 sudo apt update sudo mv /etc/apt/sources.list /etc/apt/…

vue3 + antd 封装动态表单组件(二)

传送带&#xff1a; vue3 antd 封装动态表单组件&#xff08;一&#xff09; 前置条件&#xff1a; vue版本 v3.3.11 ant-design-vue版本 v4.1.1 vue3 antd 封装动态表单组件&#xff08;一&#xff09;是基础版本&#xff0c;但是并不好用&#xff0c; 因为需要配置很多表…

Java实现医院门诊预约挂号系统 JAVA+Vue+SpringBoot+MySQL

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 功能性需求2.1.1 数据中心模块2.1.2 科室医生档案模块2.1.3 预约挂号模块2.1.4 医院时政模块 2.2 可行性分析2.2.1 可靠性2.2.2 易用性2.2.3 维护性 三、数据库设计3.1 用户表3.2 科室档案表3.3 医生档案表3.4 医生放号…

Centos7 单机单网卡安装 OpenStack

本文实际环境 vmware 虚拟机&#xff1a; 网络采用的桥接方式&#xff0c;和我的物理网络在一个网段 CPU开启虚拟化 虚拟机安装系统后&#xff0c;配置上静态IP&#xff0c;能连接外网就行了&#xff0c;最好是把内核升级到5.19以上 1、初始化准备 1&#xff09;关闭防火墙 …

顶顶通呼叫中心中间件机器人压力测试配置(mod_cti基于FreeSWITCH)

介绍 顶顶通呼叫中心中间件机器人压力测试(mod_cit基于FreeSWITCH) 一、配置acl.conf 打开ccadmin-》点击配置文件-》点击acl.conf-》我这里是已经配置好了的&#xff0c;这里的192.168.31.145是我自己的内网IP&#xff0c;你们还需要自行修改 二、配置线路 打开ccadmin-&g…

蓝桥杯(C++ 左移右移 买二增一 松散子序列 填充 有奖问答 更小的数 )

目录 左移右移 思路&#xff1a; 代码&#xff1a; 买二增一 思路&#xff1a; 代码&#xff1a; 松散子序列 思路&#xff1a; 代码&#xff1a; 填充 思路&#xff1a; 代码 &#xff1a; 有奖问答 思路&#xff1a; 代码&#xff1a; 更小的数 思路&#…