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选择器的研究(详解)
Sep 16 HTML / CSS
纯css3实现鼠标经过图片显示描述的动画效果
Sep 01 HTML / CSS
基于css3 animate制作绚丽的动画效果
Nov 24 HTML / CSS
简单掌握CSS3中resize属性的用法
Apr 01 HTML / CSS
CSS3常用的几种颜色渐变模式总结
Nov 18 HTML / CSS
将HTML5 Canvas的内容保存为图片借助toDataURL实现
May 20 HTML / CSS
HTML5使用DOM进行自定义控制示例代码
Jun 08 HTML / CSS
小程序瀑布流解决左右两边高度差距过大的问题
Feb 20 HTML / CSS
HTML5实现移动端弹幕动画效果
Aug 01 HTML / CSS
html+js 实现markdown编辑器效果
Oct 23 HTML / CSS
基于HTML5+tracking.js实现刷脸支付功能
Apr 16 HTML / CSS
el-form每行显示两列底部按钮居中效果的实现
Aug 05 HTML / CSS
CSS变量实现主题切换的方法
Jun 23 #HTML / CSS
CSS3实现列表无限滚动/轮播效果
HTML5页面音频自动播放的实现方式
Jun 21 #HTML / CSS
html中显示特殊符号(附带特殊字符对应表)
CSS中Single Div 绘图技巧的实现
CSS几步实现赛博朋克2077风格视觉效果
教你做个可爱的css滑动导航条
You might like
PHP4(windows版本)中的COM函数
2006/10/09 PHP
php 学习资料零碎东西
2010/12/04 PHP
PHP开发者常犯的10个MySQL错误更正剖析
2012/01/30 PHP
基于php使用memcache存储session的详解
2013/06/25 PHP
javascript 命名规则 变量命名规则
2010/02/25 Javascript
js分解url参数(面向对象-极简主义法应用)
2012/08/09 Javascript
jquery1.83 之前所有与异步列队相关的模块详细介绍
2012/11/13 Javascript
如何在一个页面显示多个百度地图
2013/04/07 Javascript
javascript实现炫酷的拖动分页
2015/05/11 Javascript
jQuery实现hover合成事件的方法
2015/08/06 Javascript
正则表达式优化JSON字符串的技巧
2015/12/24 Javascript
jQuery ajax全局函数处理session过期后的ajax跳转问题
2016/06/03 Javascript
ajax异步请求详解
2017/01/06 Javascript
Vue 2.0在IE11中打开项目页面空白的问题解决
2017/07/16 Javascript
JavaScript对JSON数组简单排序操作示例
2019/01/31 Javascript
在element-ui的select下拉框加上滚动加载
2019/04/18 Javascript
细述Javascript的加法运算符的具体使用
2019/10/18 Javascript
在Python中使用pngquant压缩png图片的教程
2015/04/09 Python
python中利用Future对象异步返回结果示例代码
2017/09/07 Python
Python模块WSGI使用详解
2018/02/02 Python
Windows下的Jupyter Notebook 安装与自定义启动(图文详解)
2018/02/21 Python
详谈Pandas中iloc和loc以及ix的区别
2018/06/08 Python
selenium+python实现1688网站验证码图片的截取功能
2018/08/14 Python
python入门:这篇文章带你直接学会python
2018/09/14 Python
python实现爱奇艺登陆密码RSA加密的方法示例详解
2020/05/27 Python
Python如何安装第三方模块
2020/05/28 Python
python里glob模块知识点总结
2021/01/05 Python
关于PySnooper 永远不要使用print进行调试的问题
2021/03/04 Python
美国值得信赖的婚恋交友网站:eHarmony
2018/10/04 全球购物
机修工岗位职责
2013/11/24 职场文书
小区文明倡议书
2014/05/16 职场文书
奉献家乡演讲稿
2014/09/16 职场文书
学校总务处领导班子民主生活会对照检查材料思想汇报
2014/09/27 职场文书
售房协议书范本2014
2014/10/23 职场文书
教师先进事迹材料
2014/12/16 职场文书
学习委员竞选稿
2015/11/20 职场文书