CSS计数器

CSS 中的计数器类似于变量,可以实现简单的计数功能,并将结果显示在页面上,在早期的网站上应用比较广泛。要实现计数器需要用到以下几个属性:

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

下面我们就来看一下 CSS 中的计数器是如何使用的。

初始化计数器

要使用计数器首先需要使用 counter-reset 属性来创建一个计数器,这一过程便叫做初始化计数器。counter-reset 属性的语法格式如下:

counter-reset:none |

参数说明如下:

  • none:阻止计数器复位;
  • :定义计数器的名称;
  • :定义计数器的起始值,默认值为 0,可以为负值。

计数器自增

初始化计数器后,可以通过 counter-increment 属性来指定计数器何时自增,语法格式如下:

counter-increment:none |

参数说明如下:

  • none:阻止计数器增加;
  • :定义要自增的计数器名称;
  • :定义计数器每次增加的数值,默认值为 1,可以为负值。

显示计数器

最后,就是如何显示计数器了。要显示计数器您可以使用 counter() 或 counters() 函数,这两个函数的语法格式如下:

counter(name)

counters(name, string, list-style-type)

参数说明如下:

  • name:计数器的名称;
  • string:当计数器嵌套使用时,用来拼接的字符串;
  • list-style-type:计数器显示的风格,可以是 CSS 中允许的任何《list-style-type 属性》的值。

下面通过一个简单的示例来演示计数器的使用:

复制代码
<!DOCTYPE html>

<html>

<head>

    <style>

        body {

            counter-reset: chapter; 

        }

        h5, h6 {

            margin: 5px 0 5px;

        }

        h5 {

            counter-reset: section;

            counter-increment: chapter;

        }

        h6 {

            counter-increment: section;

        }

        h5:before {

            content: "Chapter " counter(chapter) ". ";

        }

        h6:before {

            content: counter(chapter) "." counter(section) " ";

        }

    </style>

</head>

<body>

    <h5>程序设计语言</h5>

    <h6>HTML and CSS</h6>

    <h6>JavaScript</h6>

    <h6>PHP</h6>

    <h6>Java</h6>



    <h5>数据库管理系统</h5>

    <h6>MySQL</h6>

    <h6>MariaDB</h6>

    <h6>PostgreSQL</h6>

    <h6>Oracle</h6>

</body>

</html>

运行结果如下图所示:

图:计数器

注意:在使用 CSS 计数器之前,必须使用 counter-reset 创建计数器。

计数器嵌套

另外,计数器还可以嵌套使用,而且使用 counters() 函数可以在不同级别的嵌套计数器之间插入一个字符串,如下例所示:

复制代码
<!DOCTYPE html>

<html>

<head>

    <style>

        ol {

            /* 为每个ol元素创建新的计数器实例 */

            counter-reset: ol-list;

            list-style-type: none;

        }

        li:before {

            /* 只增加计数器的当前实例 */

            counter-increment: ol-list;

            /* 为所有计数器实例增加以"."分隔的值 */

            content: counters(ol-list, ".") "、";

        }

    </style>

</head>

<body>

    <ol>

        <li>item</li>

        <li>item

            <ol>

                <li>item</li>

                <li>item</li>

                <li>item

                    <ol>

                        <li>item</li>

                        <li>item</li>

                    </ol>

                </li>

                <li>item

                    <ol>

                        <li>item</li>

                        <li>item</li>

                        <li>item</li>

                    </ol>

                </li>

            </ol>

        </li>

        <li>item</li>

        <li>item</li>

    </ol>

</body>

</html>

运行结果如下图所示:

图:计数器嵌套

通过以上示例我们不难看出,使用 CSS 计数器可以在不借助其它编程语言(例如 JavaScript、PHP

等)的情况下实现简单的计数功能,当需要为某些内容添加序号时非常适用。

原文地址CSS计数器

相关推荐
HjhIron4 小时前
从零实现一个待办事项应用:前端必学的Ajax与Node.js实战
前端·后端
yingyima4 小时前
JavaScript 正则表达式:从零开始的实战对比
前端
Sammyyyyy4 小时前
月之暗面 Kimi Code 0.4.0 发布,终端 AI 编码助手全面采用 TypeScript,实现毫秒级启动
前端·javascript·人工智能·ai·typescript·servbay
范什么特西4 小时前
配置文件xml和properties
xml·前端
jnene4 小时前
html 时间、价格筛选样式处理
前端·css·html
slongzhang_5 小时前
jquery 修复怪异模式html未声明“<!DOCTYPE html>”
前端·html·jquery
云水一下6 小时前
Vue.js从零到精通系列(三):组件化基础——Props、Emits、插槽与生命周期
前端·javascript·vue.js
SEO_juper6 小时前
新独立站冷启动收录全攻略:配置、推送、抓取配额优化完整手册
前端·谷歌·seo·跨境电商·外贸·geo·独立站
TinssonTai6 小时前
这个 VS Code 插件让我的 AI Coding 又快又稳 - 旧瓶装新酒
前端·人工智能·程序员
体验家6 小时前
体验家 XMPlus 网页端问卷 SDK 技术解析:用几行 JavaScript 实现精准场景触发与防打扰机制
开发语言·前端·javascript