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

news2024/10/5 17:27:03

目录(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.coloradmin.cn/o/1571360.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Claude 3 on Amazon Bedrock 结合多智能体助力 Altrubook AI 定义消费者 AI 新范式

关于 Altrubook AI 智能消费决策机器人 Altrubook 是全球首创场景化智能决策机器人,由国内外大厂等前员工共同研发,具有定制化 IP 决策机器人、沉浸式购物体验和需求匹配优化等独特优势。目前,Altrubook AI 已完成与 Claude 3 on Amazon Bedr…

【深度优先】【树上倍增 】2846. 边权重均等查询

本文涉及知识点 深度优先 树上倍增 LeetCode2846. 边权重均等查询 现有一棵由 n 个节点组成的无向树,节点按从 0 到 n - 1 编号。给你一个整数 n 和一个长度为 n - 1 的二维整数数组 edges ,其中 edges[i] [ui, vi, wi] 表示树中存在一条位于节点 ui…

备战蓝桥杯---贡献法刷题

话不多说,直接看题: 什么是贡献法?这是一种数学思想,就是看每一个元素对总和的贡献。 1. 我们可以先枚举区间再统计次数,但这显然TLE。我们可以发现,每一个孤独的区间对应一个孤独的牛,因此我…

注意力机制篇 | YOLOv8改进之添加多尺度全局注意力机制DilateFormer(MSDA)| 即插即用

前言:Hello大家好,我是小哥谈。多尺度全局注意力机制DilateFormer是一种用图像识别任务的深度学习模型。它是在Transformer模型的基础上进行改进的,旨在提高模型对图像中不同尺度信息的感知能力。DilateFormer引入了多尺度卷积和全局注意力机制来实现多尺度感知。具体来说,…

考古:IT架构演进之IOE架构

考古:IT架构演进之IOE架构 IOE架构(IBM, Oracle, EMC)出现在20世纪末至21世纪初,是一种典型的集中式架构体系。在这个阶段,企业的关键业务系统往往依赖于IBM的小型机(后来还包括大型机)、Oracle…

题库管理系统-基于Springboot实现JAVA+SQL离散数学题库管理系统(完整源码+LW+翻译)

基于Springboot实现JAVASQL离散数学题库管理系统(完整源码LW翻译) 概述: 本系统具体完成的功能如下: 1题库的管理与维护:新题的录入,修改,删除等功能。 2生成试卷:包括自动生成与手工改动,要…

ThingsBoaed、系统模块层级讲解

系统管理员能够使用租户配置文件为多个租户配置通用设置。每个租户在单个时间点都拥有唯一的个人资料。 让我们一一查看租户配置文件中的可用设置。 配置文件配置 这些设置允许系统管理员配置对租户创建的实体数量的限制,设置每月最大消息数、API 调用数的限制&…

Vue - 1( 13000 字 Vue 入门级教程)

一:Vue 1.1 什么是 Vue Vue.js(通常称为Vue)是一款流行的开源JavaScript框架,用于构建用户界面。Vue由尤雨溪在2014年开发,是一个轻量级、灵活的框架,被广泛应用于构建单页面应用(SPA&#xf…

java自动化测试学习-03-06java基础之运算符

运算符 算术运算符 运算符含义举例加法,运算符两侧的值相加ab等于10-减法,运算符左侧减右侧的值a-b等于6*乘法,运算符左侧的值乘以右侧的值a*b等于16/除法,运算符左侧的值除以右侧的值a/b等于4%取余,运算符左侧的值除…

matlab使用教程(34)—求解时滞微分方程(2)

1.具有状态依赖时滞的 DDE 以下示例说明如何使用 ddesd 对具有状态依赖时滞的 DDE(时滞微分方程)方程组求解。Enright 和Hayashi [1] 将此 DDE 方程组用作测试问题。方程组为: 方程中的时滞仅出现在 y 项中。时滞仅取决于第二个分量 y 2 t …

每日面经分享(Git经典题目,Git入门)

1. GitHub是什么 a. Git是一个分布式版本控制系统,作用是跟踪、管理和协调软件开发项目中的代码更改。 b. 提供了一种有效的方式来管理代码的版本历史,以及多人协作开发的能力。 2. Git的作用有哪些 a. 版本控制:Git可以记录每次代码更改的…

政安晨:【Keras机器学习实践要点】(十六)—— 图像分类从零开始

目录 简介 设置 加载数据:猫与狗数据集 原始数据下载 滤除损坏的图像 生成数据集 将数据可视化 使用图像数据增强 数据标准化 预处理数据的两个选项 配置数据集以提高性能 建立模型 训练模型 对新数据进行推理 政安晨的个人主页:政安晨 欢…

【快捷部署】011_PostgreSQL(16)

📣【快捷部署系列】011期信息 编号选型版本操作系统部署形式部署模式复检时间011PostgreSQL16Ubuntu 20.04Docker单机2024-03-28 一、快捷部署 #!/bin/bash ################################################################################# # 作者&#xff1…

【二分查找】Leetcode 二分查找

题目解析 二分查找在数组有序可以使用,也可以在数组无序的时候使用(只要数组中的一些规律适用于二分即可) 704. 二分查找 算法讲解 当left > right的时候,我们循环结束,但是当left和right缩成一个点的时候&#x…

DDR3接口

mig IP核的配置 首先添加mig IP核   然后确认以下工程信息,主要是芯片型号以及编译环境,没什么问题后点击next.   如下图所示,这一页选择"Create Design",在"Component Name"一栏设置该IP元件的名称&…

Redis数据库——群集(主从、哨兵)

目录 前言 一、主从复制 1.基本原理 2.作用 3.流程 4.搭建主动复制 4.1环境准备 4.2修改主服务器配置 4.3从服务器配置(Slave1和Slave2) 4.4查看主从复制信息 4.5验证主从复制 二、哨兵模式——Sentinel 1.定义 2.原理 3.作用 4.组成 5.…

59 使用 uqrcodejs 生成二维码

前言 这是一个最近的一个来自于朋友的需求, 然后做了一个 基于 uqrcodejs 来生成 二维码的一个 demo package.json 中增加以依赖 "uqrcodejs": "^4.0.7", 测试用例 <template><div class"hello"><canvas id"qrcode&qu…

代码随想录-算法训练营day02【滑动窗口、螺旋矩阵】

专栏笔记&#xff1a;https://blog.csdn.net/weixin_44949135/category_10335122.html https://docs.qq.com/doc/DUGRwWXNOVEpyaVpG?uc71ed002e4554fee8c262b2a4a4935d8977.有序数组的平方 &#xff0c;209.长度最小的子数组 &#xff0c;59.螺旋矩阵II &#xff0c;总结 建议…

[中级]软考_软件设计_计算机组成与体系结构_08_输入输出技术

输入输出技术 前言控制方式考点往年真题 前言 输入输出技术就是IO技术 控制方式 程序控制(查询)方式&#xff1a;分为无条件传送和程序查询方式两种。 方法简单&#xff0c;硬件开销小&#xff0c;但I/O能力不高&#xff0c;严重影响CPU的利用率。 程序中断方式&#xff1…

LeetCode---127双周赛

题目列表 3095. 或值至少 K 的最短子数组 I 3096. 得到更多分数的最少关卡数目 3097. 或值至少为 K 的最短子数组 II 3098. 求出所有子序列的能量和 一、或值至少k的最短子数组I&II 暴力的做法大家都会&#xff0c;这里就不说了&#xff0c;下面我们来看看如何进行优化…