当前位置: 首页 > news >正文

使用CSS计数器,在目录名称前加上了序号,让目录看起来更加井然有序

目录(Text of Contents缩写为TOC),其实就是一篇文章的概要或简述。这好比,去书店买书,先是被这本书的标题所吸引,而后我们才会,翻开这本书目录,看看这本书主要是在讲些什么?我们在看目录的同时,脑中也在不停的思衬,”这本书到底值不值得买呢?但是没有什么实战内容耶!“

文章目录

其实,一篇文章也不非要目录的,只要段落分的好,就算是长篇大论也是无关紧要的!

只是文章有了目录,让人一眼就能瞧出这篇文章到底讲了什么?虽然标题上有说,但还是得为哪几个段落起个副标题。

再说了,文章目录可以让用户在页面上,点击到达指定目录名称下进行浏览。虽然这在很大层度上是可以通过鼠标滑动,滚动到想要浏览的位置。

Hugo-theme-kiwi开源博客主题已然有了文章目录这一功能,也就是 秋码记录 站点正在使用的博客主题(由于 秋码记录 托管于 Github.com Pages,故而国内的友人在访问时,比较缓慢,甚至有时可能出现无法打开该网站)。

对目录名称前添加序号,我们首先想到的当然是使用Hugo模板渲染去实现。

序号,顾名思义,就是有顺序的号码,通俗来讲,便是1、,2、,3、,4、,……。可在Hugo模板渲染中使用计数器来实现。

css计数器

或许也只有在使用了CSS 计数器后,你就会摒弃代码中使用Hugo模板渲染的那部分又长又拖代码了。

在CSS计数器中,counter-resetcounter-increment属性是必不可少的。counter-reset在每次新的列表开始时重置计数器,而counter-increment在每个列表项上增加计数器。

需要注意的是:counter-reset需要计数的父标签上的!

在这里插入图片描述

那么,就将 counter-reset设置在ol标签上即可,即便是某一项有子目录,那也还是在ol标签内的!

.toc-content  ol{list-style-type: none;counter-reset: item}

现在,我们就可以对目录名称设置伪选择器了。

在编写CSS样式之前,有必要说下counters()函数,在CSS中,它返回一个计数器的列表值,这个列表可以包含一个或者多个嵌套的计数器。

函数counters()有两个参数:

  1. 第一个参数是你要访问的计数器的名称,在你的例子中,该名称就是 item
  2. 第二个参数是字符串,用来分隔计数器的各个级别。在你的例子中,这个分隔符是英文的句点 .
.toc-content ol li a:first-of-type::before{counter-increment: item;content: counters(item,".")"、";font-weight: 700;margin-right: 1px;}

比如在多级嵌套的列表中,如果在第一级的第二个项中的第三个小项,那么 counters() 的值就会是 2.3、

字符串紧接着 counters(item, ".") 的作用是将结果后面添加一个顿号,使其格式化输出更美观。

所以 counters(item, ".") ". " 的作用就是生成并显示一个根据当前嵌套列表项的层级和序号构成的数字序列,每一级数字之间用句点分隔,并在最后跟着一个顿号。例如输出1、2.1、2.2、,等等。

在这里插入图片描述

http://www.lryc.cn/news/329977.html

相关文章:

  • SSH常见运维总结
  • uni app 扫雷
  • MATLAB绘制堆叠填充图--巧用句柄
  • JQuery的定义
  • 【操作系统】FCFS、SJF、HRRN、RR、EDF、LLF调度算法及python实现代码
  • Image-Adaptive YOLO for Object Detection in Adverse Weather Conditions(IA-YOLO)
  • Mac电脑Jmeter集成到Jenkins,压测多个接口并生成测试报告
  • redis-Hash
  • Kubernetes kafka系列 | Strimzi 部署kafka-bridge
  • AR和VR如何改变客户体验?
  • 微信小程序中实现埋点的方法
  • vue记事本渲染以及交互
  • Zookeeper中的脑裂
  • 【漏洞复现】金和OA XmlDeal.aspx XXE漏洞
  • 对比:React 还是 Vue
  • ubuntu 20.04 SD 卡分区类型 msdos 改为 GPT 的方法
  • Kubernetes(K8s)技术解析
  • Python 基于 OpenCV 视觉图像处理实战 之 OpenCV 简单实战案例 之十 简单颜色反转效果
  • 【ELK+Kafka+filebeat分布式日志收集】部署filebeat和Kibana(三)
  • 二.音视频编辑-媒体组合-播放
  • 前端安全-面试题(2024)
  • CVE-2022-29405 Apache Archiva任意用户密码重置漏洞分析
  • ssm框架配置文件例子
  • maven构建项目报错:Failure to find com.microsoft.sqlserver:sqljdbc4:jar:4.0 in
  • 已解决rabbitmq AMQPConnectionClosedException:管道破裂或连接关闭异常的正确解决方法,亲测有效!!!
  • Excel 隔几行批量插入空白行
  • 2024年04月在线IDE流行度最新排名
  • 如何通过Elasticsearch实现搜索的关键词达到高亮的效果
  • 真实sql注入以及小xss--BurpSuite联动sqlmap篇
  • Java类和对象练习题