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 border-image详解、应用及jQuery插件
Aug 29 HTML / CSS
移动Web—CSS为Retina屏幕替换更高质量的图片
Dec 24 HTML / CSS
一款利用html5和css3实现的3D滚动特效的教程
Jan 04 HTML / CSS
使用CSS3来实现滚动视差效果的教程
Aug 24 HTML / CSS
解决margin 外边距合并问题
Jul 03 HTML / CSS
HTML5使用Audio标签实现歌词同步的效果
Mar 17 HTML / CSS
html5 分层屏幕适配的方法
Mar 16 HTML / CSS
使用CSS实现弹性视频html5案例实践
Dec 26 HTML / CSS
html5中canvas学习笔记1-画板的尺寸与实际显示尺寸
Jan 06 HTML / CSS
HTML5 Canvas阴影使用方法实例演示
Aug 02 HTML / CSS
HTML5 Canvas中绘制矩形实例
Jan 01 HTML / CSS
在CSS中使用when/else的方法
Jan 18 HTML / CSS
CSS变量实现主题切换的方法
Jun 23 #HTML / CSS
CSS3实现列表无限滚动/轮播效果
HTML5页面音频自动播放的实现方式
Jun 21 #HTML / CSS
html中显示特殊符号(附带特殊字符对应表)
CSS中Single Div 绘图技巧的实现
CSS几步实现赛博朋克2077风格视觉效果
教你做个可爱的css滑动导航条
You might like
默默简单的写了一个模板引擎
2007/01/02 PHP
PHP中使用Session配合Javascript实现文件上传进度条功能
2014/10/15 PHP
tp5(thinkPHP5框架)captcha验证码配置及验证操作示例
2019/05/28 PHP
javascript 尚未实现错误解决办法
2008/11/27 Javascript
Javascript在IE或Firefox下获取鼠标位置的代码
2009/12/18 Javascript
JavaScript分页功能的实现方法
2015/04/25 Javascript
javascript中的altKey 和 Event属性大全
2015/11/06 Javascript
基于JavaScript实现动态创建表格和增加表格行数
2015/12/20 Javascript
JavaScript String(字符串)对象的简单实例(推荐)
2016/08/31 Javascript
JavaScript+CSS相册特效实例代码
2017/09/07 Javascript
Thinkphp5微信小程序获取用户信息接口的实例详解
2017/09/26 Javascript
js+canvas实现滑动拼图验证码功能
2018/03/26 Javascript
[16:56]heroes英雄教学 司夜刺客
2014/09/18 DOTA
Python处理JSON时的值报错及编码报错的两则解决实录
2016/06/26 Python
python 内置函数filter
2017/06/01 Python
Python数据分析:手把手教你用Pandas生成可视化图表的教程
2018/12/15 Python
对Python中TKinter模块中的Label组件实例详解
2019/06/14 Python
Flask框架钩子函数功能与用法分析
2019/08/02 Python
Python+Selenium+phantomjs实现网页模拟登录和截图功能(windows环境)
2019/12/11 Python
Python中and和or如何使用
2020/05/28 Python
基于selenium及python实现下拉选项定位select
2020/07/22 Python
Python实现EM算法实例代码
2020/10/04 Python
Python如何批量生成和调用变量
2020/11/21 Python
Python应用自动化部署工具Fabric原理及使用解析
2020/11/30 Python
李维斯德国官方网上商店:Levi’s德国
2016/09/10 全球购物
ASOS比利时:英国线上零售商及自有品牌
2018/07/29 全球购物
描述Cookie和Session的作用,区别和各自的应用范围,Session工作原理
2015/03/25 面试题
高级文秘工作总结的自我评价
2013/09/28 职场文书
护士自我鉴定
2013/10/23 职场文书
护理实习自我鉴定
2013/12/14 职场文书
终止劳动合同协议书
2014/10/05 职场文书
2015年幼儿园学期工作总结
2015/05/22 职场文书
2016党性教育学习心得体会
2016/01/21 职场文书
导游词之潮音寺
2019/09/26 职场文书
Java 中的 Unsafe 魔法类的作用大全
2021/06/26 Java/Android
JAVA springCloud项目搭建流程
2022/05/11 Java/Android