CSS里的Counter

本文详细介绍了CSS中的counter属性,包括counter-reset、counter-increment、counters的使用方法和应用场景。通过实例展示了如何创建和管理计数器,特别是在动态列表和自定义编号样式中的应用。文中还探讨了使用counter而非有序列表的优势,以及在不同情况下counter的执行逻辑和注意事项。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

counter 美 [ˈkaʊntɚ] 计数器

简述

counter和css里的width、color一样是一个属性,但是单独使用counter是没有效果的,就像你买了一个鼠标,如果没有cpu、硬盘、内存条……的话,这个鼠标好像并没有什么用。
counter的小伙伴是

  • ::before or ::after (不熟悉的同仁可以先看看css伪类)
  • counter-reset
  • counter-increment
  • counters

本文不赘述css伪类而把重点放在counter、counters、counter-reset、counter-increment这四个属性上,并默认读者熟悉css伪类的用法。

应用场景

一个例子

css计数器的应用,在于,需要类似有序列表一样的功能,但是不想(或者不能)使用有序列表的时候。实际上css计数器的功能比有序列表的功能更强大一些。 比如下面图片里的例子
这是描述
我们明明可以用有序列表很简单地做出来,1分钟都不要。但是我们为什么要用counter?实际上,如果仅仅做成上图的效果,确实用有序列表就够了。
但是实际开发中,如此“简洁”的情况还是少见的,我们可能需要为购物车里的商品列表添加序号,或者自己做了个todoList也需要序号,而且还可以定义这个序号的样式。
这是描述
最开始,我想,直接把序号放在html里不就行了?但是这样做的缺点是如果购物车删除了某个商品,那么被删除的商品的序号就没了。比如我们删除了上图的“饼干”,那么“1巧克力”下面就是“3酸奶”,这是我们不想看到的。
这是描述
当然,在js里维护index值也是可以的,但是可以先看看counter怎么做。

.container{
    counter-reset: abc;
}
.item::before{
    counter-increment: abc;
    co
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值