经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » HTML/CSS » CSS » 查看文章
CSS实现章节添加自增序号的方法_CSS教程_CSS
来源:jb51  时间:2021/6/28 9:10:06  对本文有异议

开始

当我们想写一个类似掘金的文章或者自己的博客的时候,是否有想过该怎么实现给自己文章的章节添加章节号,给小标题增加标题号,或者给列表增加列序号,简单的静态文本我们或许可以手动输入或者使用html的有序列表 <ol>,但是有序列表自带样式,达到我们想要的效果可能还要费一番功夫,繁多的结构我们是否只能通过js来实现呢?

CSS计数器

css计数器通过几个css的属性值来实现,分别是

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

所有主流浏览器都支持,大家可以放心使用

counter-reset

使用css计数器的第一步就是创建或者重置计数器,使用counter-reset属性,默认初始值为0,可以额外设置其他初始值

  1. counter-reset: chapter; /* 重置计数器为 0 */
  2. counter-reset: chapter 2; /* 重置计数器为 2 */

counter-increment

counter-increment属性用于将CSS Counters的值增加给定值。参数和counter-reset一致。第一个参数应和创建计数器counter-reset的第一个参数保持一致

  1. h1{
  2. counter-increment: chapter;
  3. }

countent

为了使用我们刚才创建的计数器,需要使用content,content是before或着after伪类中使用的属性,我们经常使用伪类来做一些修饰

  1. h1::before{
  2. content: counter(chapter)'. ';
  3. }

最终我们呈现的效果如下

  1. <style>
  2. body{
  3. counter-reset: chapter;
  4. }
  5. h1::before{
  6. counter-increment: chapter;
  7. content: counter(chapter)'. ';
  8. }
  9. </style>
  10. <body>
  11. <h1>三国演义</h1>
  12. <h1>红楼梦</h1>
  13. <h1>水浒传</h1>
  14. <h1>西游记</h1>
  15. </body>

计数器嵌套

css 的计数器还可以在列表中使用,支持嵌套,子元素中会自动创建一个CSS计数器的实例。使用 counters() 函数,在不同级别的嵌套计数器之间可以插入字符串
首先将列表的默认类型设为none不显示,否则会影响效果的显示,嵌套的<li>需要使用相同的计数器名字,然后使用 counters 函数可以访问所有的计数器,并将父级与子级拼接,类似js的join函数。

  1. <style>
  2. ol {
  3. counter-reset: section;
  4. list-style-type: none;
  5. }
  6. li:before {
  7. counter-increment: section;
  8. content: counters(section, '.') ' ';
  9. }
  10. </style>
  11. <ol>
  12. <li>西游记</li>
  13. <li>
  14. 红楼梦
  15. <ol>
  16. <li>甄士隐梦幻识通灵 贾雨村风尘怀闺秀</li>
  17. <li>贾夫人仙逝扬州城 冷子兴演说荣国府</li>
  18. </ol>
  19. </li>
  20. </ol>
  21. <ol>
  22. <li>百年孤独</li>
  23. <li>老人与海</li>
  24. </ol>

最后

这里介绍了用counter-reset 和 counter-increment 操作,用content显示css计数器的方法,虽然不常用,但是确出人意料的好用。希望能够对你有所帮助,谢谢

到此这篇关于CSS实现章节添加自增序号的方法的文章就介绍到这了,更多相关CSS添加自增序号内容请搜索w3xue以前的文章或继续浏览下面的相关文章,希望大家以后多多支持w3xue!

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号