0

0

详细介绍CSS计数器

王林

王林

发布时间:2020-10-21 17:21:25

|

2938人浏览过

|

来源于掘金

转载

详细介绍CSS计数器

css计数器效果是指使用CSS代码实现随元素的数目增多, 数值也跟着变大的效果, 有点类似于

    , 但是比ol更灵活。

    (推荐教程:css视频教程

    CSS计数器有两个属性 (counter-reset 和 counter-increment) 和一个方法 (counter() / counters()), 下面以次讲解:

    1. counter-reset

    立即学习前端免费学习笔记(深入)”;

    属性counter-reset顾名思义就是 计数器-重置 的意思, 其实主要作用就是给计数器起个名字, 如果可能, 顺便告诉下从哪个数字开始计数, 默认是0, 注意默认是0, 而不是1, 在网上可能会看到有很多例子默认显示的第一个数字都是1, 而不是0, 这是因为受到 counter-increment 的影响, 后面详细讲解

    先看一个简单的例子

    下面将出现的数字
    .counter {
        counter-reset: resetname 2;
        font-size: 24px;
        color: #f66;
    }
    .counter:before {
        content: counter(resetname);
    }

    7478a14f5a773a73955e882dd205046.png

    如果将conter-reset 后面的2去掉, 那下面出现的数字就是 0

    counter-reset 的计数重置可以是复数, 如 -2, 也可以是小数, 如 2.99, 不过, IE和FireFox对此都不认识, 认为是不合法的数值, 会当做0来处理, 在Chrome下, 任何小数都是向下取整, 如 2.99 会当成 2 来处理.

    你以为到此为止了? 当然不是! counter-reset还有一手, 就是多个计数器同时命名, 列如:

        .counter {
            counter-reset: first 2 second 3;
            font-size: 24px;
            color: #f66;
        }
        .counter:before {
            content: counter(first);
        }
        .counter:after {
            content: counter(second);
        }

    6740c3787026d032dfb19d71d48ef20.png

    另外, counter-reset 还可以设置为 none, 和inherit, 取消重置以及继承重置.

    2. counter-increment

    属性 counter-increment 顾名思义就是 计数器递增的意思, 值为counter-reset的一个或者多个关键字, 后面可以跟数字, 表示每次计数的变化值, 如果省略则使用默认变化值 1

    CSS计数器的技术有一套自己的规则, 我们称之为 "普照规则", 具体来讲就是, 普照源 (counter-reset) 唯一, 每普照(counter-increment)一次, 普照源增加一次计数

    于是就能解决上面所说的 "默认值0"的问题了, 通常我们在使用计数器的时候, 都会使用counter-increment , 这个肯定要用, 不然怎么递增呢.

    .counter {
        counter-reset: incerment 2;
        counter-increment: incerment;
        font-size: 24px;
        color: #f66;
    }
    .counter:before {
        content: counter(incerment);
    }

    5bb7dee06547194e22a8ad55f190f8f.png

    这个普照元素也可以写直接写到为元素上, 效果和上面一样, 也是递增1, 如果父元素和子元素都写了, 那么父元素递增一次, 子元素递增一次, 最后的结果就是递增两次

    正如之前提到的, 这个变化值不一定都是1, 可以灵活设置, 比如

    counter-increment: incerment 2;

    变化值也可以是负数, 比如:

    动力先锋仿阿里巴巴B2B电子商务系统
    动力先锋仿阿里巴巴B2B电子商务系统

    前台功能介绍:1、网页首页显示有高级会员推荐,精品推荐,商业机会分类列表,最新供求信息,网站动态,推荐企业,行业动态等;2、商业机会栏目功能有:二级分类,已经带有详细分类的数据库,后台可以更改增加操作,并可以推荐公司,栏目分为分类显示信息,最新的采购、供应、合作和代理信息,搜索时同样按分类,信息,时间,交易类型等搜索;3、展厅展品栏目功能:二级分类,已经带有详细分类的数据库,后台可以更改增加操作,

    下载
    .counter {
        counter-reset: incerment 5;
        counter-increment: incerment -2;
        font-size: 24px;
        color: #f66;
    }
    .counter:before {
        content: counter(incerment);
    }

    4bb08354e5ef339c30a01005928f714.png

    值也可以是none 和 inherit

    3. counter()/counters()

    这两个是方法, 不是属性, 类似于CSS3中的 calc(), 这里的作用就是显示计数, 不过名称和用法有多个

    比如上面用到的 counter(name), 就是显示计数

    还可以写成 counter(name, style)

    那么这个style是什么呢, 它支持的关键字就是 list-style-type 所支持的那些, 它的作用就是我们的递增和递减不一定都是数字, 也可以使英文字母或者别的

    list-style-type:

    disc | circle | square | decimal | decimal-leading-zero |
    lower-roman | upper-roman | lower-greek | lower-latin | upper-latin |
    armenian | georgian | none | inherit

    .counter {
        counter-reset: styleType 2;
        font-size: 24px;
        color: #f66;
    }
    .counter:before {
        counter-increment: styleType;
        content: counter(styleType, lower-roman);
    }

    4100f8a59851392d4a4e03292ab4c1f.png

    counter 还支持级联, 也就是说, 一个content 属性可以有多个 counter() 方法

    .counter {
        counter-reset: cascaderOne 2 cascaderTwo 3;
        font-size: 24px;
        color: #f66;
    }
    .counter:before {
        content: counter(cascaderOne) '\A' counter(cascaderTwo);
        white-space: pre;
    }

    ad847141f9f47123015619a3139cd5c.png

    下面介绍一下 counters() 方法, 看似只比counter多个 s , 但却有着不同的意思, counters 几乎可以说是嵌套计数器的代名词.

    我们平时写的时候不可能都是1, 2, 3, ..., 还有比如 1.1, 1.2, 1.3...等类似的序号, 前者就是counter()干的事, 后者就是counters()干的事

    counters的基本用法

    counters(name, string, style);

    其中 string 参数是字符串, 需要用引号包含, 是必须参数, 表示子序号的连接符, style还是和counter的第二个参数一样

    下面一个完整的demo:

    
    
    
        
        content
        
    
    
    
    前端开发FE
    前端开发FE111
    前端开发FE222
    前端开发FEsss
    前端开发FE
    前端开发FE
    前端开发FE3333
    后端开发
    PM
    瞎提需求

    ac2b9205070f78af4f4249f01879c6a.png

    相关推荐:CSS教程

相关专题

更多
css
css

css是层叠样式表,用来表现HTML或XML等文件样式的计算机语言,不仅可以静态地修饰网页,还可以配合各种脚本语言动态地对网页各元素进行格式化。php中文网还为大家带来html的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

521

2023.06.15

css居中
css居中

css居中:1、通过“margin: 0 auto; text-align: center”实现水平居中;2、通过“display:flex”实现水平居中;3、通过“display:table-cell”和“margin-left”实现居中。本专题为大家提供css居中的相关的文章、下载、课程内容,供大家免费下载体验。

262

2023.07.27

css如何插入图片
css如何插入图片

cssCSS是层叠样式表(Cascading Style Sheets)的缩写。它是一种用于描述网页或应用程序外观和样式的标记语言。CSS可以控制网页的字体、颜色、布局、大小、背景、边框等方面,使得网页的外观更加美观和易于阅读。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

753

2023.07.28

css超出显示...
css超出显示...

在CSS中,当文本内容超出容器的宽度或高度时,可以使用省略号来表示被隐藏的文本内容。本专题为大家提供css超出显示...的相关文章,相关教程,供大家免费体验。

539

2023.08.01

css字体颜色
css字体颜色

CSS中,字体颜色可以通过属性color来设置,用于控制文本的前景色,字体颜色在网页设计中起到很重要的作用,具有以下表现作用:1、提升可读性;2、强调重点信息;3、营造氛围和美感;4、用于呈现品牌标识或与品牌形象相符的风格。

757

2023.08.10

什么是css
什么是css

CSS是层叠样式表(Cascading Style Sheets)的缩写,是一种用于描述网页(或其他基于 XML 的文档)样式与布局的标记语言,CSS的作用和意义如下:1、分离样式和内容;2、页面加载速度优化;3、实现响应式设计;4、确保整个网站的风格和样式保持统一。

604

2023.08.10

css三角形怎么写
css三角形怎么写

CSS可以通过多种方式实现三角形形状,本专题为大家提供css三角形怎么写的相关教程,大家可以免费体验。

560

2023.08.21

css设置文字颜色
css设置文字颜色

CSS(层叠样式表)可以用于设置文字颜色,这样做有以下好处和优势:1、增加网页的可视化效果;2、突出显示某些重要的信息或关键字;3、增强品牌识别度;4、提高网页的可访问性;5、引起不同的情感共鸣。

389

2023.08.22

Java 桌面应用开发(JavaFX 实战)
Java 桌面应用开发(JavaFX 实战)

本专题系统讲解 Java 在桌面应用开发领域的实战应用,重点围绕 JavaFX 框架,涵盖界面布局、控件使用、事件处理、FXML、样式美化(CSS)、多线程与UI响应优化,以及桌面应用的打包与发布。通过完整示例项目,帮助学习者掌握 使用 Java 构建现代化、跨平台桌面应用程序的核心能力。

36

2026.01.14

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Sass 教程
Sass 教程

共14课时 | 0.8万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 2.9万人学习

CSS教程
CSS教程

共754课时 | 19万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号