CSS实现章节添加自增序号的方法


Posted in HTML / CSS onJune 23, 2021

开始

当我们想写一个类似掘金的文章或者自己的博客的时候,是否有想过该怎么实现给自己文章的章节添加章节号,给小标题增加标题号,或者给列表增加列序号,简单的静态文本我们或许可以手动输入或者使用html的有序列表 <ol>,但是有序列表自带样式,达到我们想要的效果可能还要费一番功夫,繁多的结构我们是否只能通过js来实现呢?

CSS计数器

css计数器通过几个css的属性值来实现,分别是

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

所有主流浏览器都支持,大家可以放心使用

counter-reset

使用css计数器的第一步就是创建或者重置计数器,使用counter-reset属性,默认初始值为0,可以额外设置其他初始值

counter-reset: chapter; /* 重置计数器为 0 */
counter-reset: chapter 2; /* 重置计数器为 2 */

counter-increment

counter-increment属性用于将CSS Counters的值增加给定值。参数和counter-reset一致。第一个参数应和创建计数器counter-reset的第一个参数保持一致

h1{
  counter-increment: chapter;
}

countent

为了使用我们刚才创建的计数器,需要使用content,content是before或着after伪类中使用的属性,我们经常使用伪类来做一些修饰

h1::before{
  content: counter(chapter)'. ';
}

最终我们呈现的效果如下

<style>
body{
  counter-reset: chapter;
}
h1::before{
  counter-increment: chapter;
  content: counter(chapter)'. ';
}
</style>
<body>
  <h1>三国演义</h1>
  <h1>红楼梦</h1>
  <h1>水浒传</h1>
  <h1>西游记</h1>
</body>

CSS实现章节添加自增序号的方法

计数器嵌套

css 的计数器还可以在列表中使用,支持嵌套,子元素中会自动创建一个CSS计数器的实例。使用 counters() 函数,在不同级别的嵌套计数器之间可以插入字符串
首先将列表的默认类型设为none不显示,否则会影响效果的显示,嵌套的<li>需要使用相同的计数器名字,然后使用 counters 函数可以访问所有的计数器,并将父级与子级拼接,类似js的join函数。

<style>
  ol {
    counter-reset: section;
    list-style-type: none;
  }
  li:before {
    counter-increment: section; 
    content: counters(section, '.') ' '; 
  }
</style>
<ol>
  <li>西游记</li>
  <li>
    红楼梦
    <ol>
      <li>甄士隐梦幻识通灵 贾雨村风尘怀闺秀</li>
      <li>贾夫人仙逝扬州城 冷子兴演说荣国府</li>
    </ol>
  </li>
</ol>
<ol>
  <li>百年孤独</li>
  <li>老人与海</li>
</ol>

CSS实现章节添加自增序号的方法

最后

这里介绍了用counter-reset 和 counter-increment 操作,用content显示css计数器的方法,虽然不常用,但是确出人意料的好用。希望能够对你有所帮助,谢谢

到此这篇关于CSS实现章节添加自增序号的方法的文章就介绍到这了,更多相关CSS添加自增序号内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章,希望大家以后多多支持三水点靠木!

 
HTML / CSS 相关文章推荐
各大浏览器 CSS3 和 HTML5 兼容速查表 图文
Apr 01 HTML / CSS
CSS3移动端vw+rem不依赖JS实现响应式布局的方法
Jan 23 HTML / CSS
HTML5 Canvas实现玫瑰曲线和心形图案的代码实例
Apr 10 HTML / CSS
HTML5中的nav标签学习笔记
Jun 24 HTML / CSS
HTML5中判断用户是否正在浏览页面的方法
May 03 HTML / CSS
Html5元素及基本语法详解
Aug 02 HTML / CSS
HTML5自定义属性前缀data-及dataset的使用方法(html5 新特性)
Aug 24 HTML / CSS
详解WebSocket跨域问题解决
Aug 06 HTML / CSS
data:image data url 文件转为Blob上传后端的方法
Jul 16 HTML / CSS
使用canvas压缩图片上传的方法示例
Feb 07 HTML / CSS
网站性能延迟加载图像的五种技巧(小结)
Aug 13 HTML / CSS
html5+实现plus.io进行拍照和图片等获取
Jun 01 HTML / CSS
CSS变量实现主题切换的方法
Jun 23 #HTML / CSS
CSS3实现列表无限滚动/轮播效果
HTML5页面音频自动播放的实现方式
Jun 21 #HTML / CSS
html中显示特殊符号(附带特殊字符对应表)
CSS中Single Div 绘图技巧的实现
CSS几步实现赛博朋克2077风格视觉效果
教你做个可爱的css滑动导航条
You might like
浅谈web上存漏洞及原理分析、防范方法(文件名检测漏洞)
2013/06/29 PHP
在Yii2中使用Pjax导致Yii2内联脚本载入失败的原因分析
2016/03/06 PHP
Eclipse PHPEclipse 配置的具体步骤
2017/08/08 PHP
用php实现分页效果的示例代码
2020/12/10 PHP
PHP常用字符串输出方法分析(echo,print,printf及sprintf)
2021/03/09 PHP
Prototype使用指南之hash.js
2007/01/10 Javascript
一些有用的JavaScript和jQuery的片段分享
2011/08/23 Javascript
javascript 运算数的求值顺序
2011/08/23 Javascript
javascript之querySelector和querySelectorAll使用说明
2011/10/09 Javascript
js判断上传文件类型判断FileUpload文件类型代码
2014/05/20 Javascript
简介JavaScript中strike()方法的使用
2015/06/08 Javascript
JavaScript实现节点的删除与序号重建实例
2015/08/05 Javascript
使用jquery.qrcode.min.js实现中文转化二维码
2016/03/11 Javascript
关于JS中setTimeout()无法调用带参函数问题的解决方法
2016/06/21 Javascript
Javascript动画效果(4)
2016/10/11 Javascript
Jquery Easyui对话框组件Dialog使用详解(14)
2016/12/19 Javascript
bootstrap提示标签、提示框实现代码
2016/12/28 Javascript
js事件冒泡与事件捕获详解
2017/02/20 Javascript
jquery中绑定事件的异同
2017/02/28 Javascript
Angular实现的进度条功能示例
2018/02/18 Javascript
使用async await 封装 axios的方法
2018/07/09 Javascript
使用vscode快速建立vue模板过程详解
2019/10/10 Javascript
让Vue响应Map或Set的变化操作
2020/11/11 Javascript
vue使用vue-quill-editor富文本编辑器且将图片上传到服务器的功能
2021/01/13 Vue.js
js属性对象的hasOwnProperty方法的使用
2021/02/05 Javascript
Python可变参数*args和**kwargs用法实例小结
2018/04/27 Python
python二维列表一维列表的互相转换实例
2018/07/02 Python
python pandas写入excel文件的方法示例
2019/06/25 Python
python从list列表中选出一个数和其对应的坐标方法
2019/07/20 Python
Python 自动登录淘宝并保存登录信息的方法
2019/09/04 Python
Python中猜拳游戏与猜筛子游戏的实现方法
2020/09/04 Python
Debenhams百货英国官方网站:Debenhams UK
2016/07/12 全球购物
微软马来西亚官方网站:Microsoft马来西亚
2019/11/22 全球购物
项目委托协议书(最新)
2014/09/13 职场文书
机械制造专业大学生自我鉴定
2014/09/19 职场文书
文员岗位职责范本
2015/04/16 职场文书