您现在的位置是:网站首页> 编程资料编程资料
CSS黑魔法之计数器counter的使用技巧CSS计数器counter()的用法简介CSS计数器(序列数字字符自动递增)详解
2021-09-05
819人已围观
简介 这篇文章主要介绍了CSS3黑魔法之计数器counter的使用技巧,文中甚至用它来实现了一个小型的加法计算器,这对于CSS来说还是十分exciting的,需要的朋友可以参考下
计数器(counter),“老一辈”程序员估计对这个东西印象深刻,早期的网站页面上经常会有这个东西,如今这种特征都变成了笑话。CSS里自己实现了一种计数器,很简单,很直接。使用CSS计数器,你可以实现简单的纯CSS的计数功能,并能将其显示到页面上。下面我们简单的看一下CSS计数器是如何使用的!
初始化CSS计数器
为了好理解,我们使用
- 和
- 元素来做演示。首先我们要重置计数器,让它归零,并给它指定一个名称:CSS Code复制内容到剪贴板
- ol.slides {
- countercounter-reset: slideNum;
- }
这个计数器叫slideNum,下面的例子都都要使用它。
CSS计数器的自增
为了是计数器能够自增,我们需要使用counter-increment,并把计数器的名称跟到后面:
CSS Code复制内容到剪贴板- ol.slides > li {
- countercounter-increment: slideNum;
- }
这样,在CSS选择器下,每遇到一个符合条件li元素,counter-increment就会被调用一次,计数就是增加1。需要注意的是,这里的CSS选择器里使用了>符号,这样是为了滤掉有可能多重嵌套的li元素。否者你的计数值就会不是你想要的。
使用计数值
如果只计数而无法显示,那这个计数器也没多大用处,所以就有了counter()命令来输出计数器里的值,可以用在content属性里:
CSS Code复制内容到剪贴板- ol.slides li:after {
- content: "[" counter(slideNum) "]";
- }
有趣的是,这个counter()命令还可以接受第二个参数,当作同时计算多个元素时数据的分隔符:
假设有这样的HTML:
XML/HTML Code复制内容到剪贴板- <ol class="toc">
- <li>Introli>
- <li>Topic
- <ol>
- <li>Subtopicli>
- <li>Subtopicli>
- <li>Subtopicli>
- ol>
- li>
- <li>Topic
- <ol>
- <li>Subtopicli>
- <li>Subtopicli>
- <li>Subtopicli>
- ol>
- li>
- <li>Closingli>
- ol>
我们这样来写:
CSS Code复制内容到剪贴板- ol.toc, ol.toc ol {
- countercounter-reset: toc;
- }
- ol li {
- countercounter-increment: toc;
- }
- .toc li:before {
- content: "(Item " counters(toc, ".") ")";
- }
会输出下面的结果
XML/HTML Code复制内容到剪贴板- <ol class="toc">
- <li>(Item 1)Introli>
- <li>(Item 2)Topic
- <ol>
- <li>(Item 2.1)Subtopicli>
- <li>(Item 2.2)Subtopicli>
- <li>(Item 2.3)Subtopicli>
- ol>
- li>
- <li>(Item 3)Topic
- <ol>
- <li>(Item 3.1)Subtopicli>
- <li>(Item 3.2)Subtopicli>
- <li>(Item 3.3)Subtopicli>
- ol>
- li>
- <li>(Item 4)Closingli>
- ol>
你可以发现,当需要显示这种联级嵌套序号时,这种技术是非常的有用的。很像微软WORD里面文档的多重序号。
在 counter-reset 属性中,定义了一个随机 ID,其默认值是0。你可以在 counter-increment 属性中定义另外一个数字,作为计数的步长。
例如:counter-increment: i 2 将值显示偶数。
大多时候,CSS计数器都是配合:after和:before伪元素使用,我曾看到过有人在幻灯片、视频页面和文档里用过CSS计数器。相信你会找到其它可以使用它的地方。
CSS 计数器进阶
利用 CSS 计数器,能统计被用户选择的复选框个数:CSS Code复制内容到剪贴板- "languages">
- "c" type="checkbox">
- "C++" type="checkbox">
- "C#" type="checkbox">
- "Java" type="checkbox">
- "JavaScript" type="checkbox">
- "PHP" type="checkbox">
- "Python" type="checkbox">
- "Ruby" type="checkbox">
"total">
- Total selected:
- .languages {
- countercounter-reset: characters;
- }
- input:checked {
- countercounter-increment: characters;
- }
- .total:after {
- content: counter(characters);
- }
在这个示例中,我们会增加 input:checked 的数量并打印出来。
你还能创建一个小型计算器:
CSS Code复制内容到剪贴板- "numbers">
- "one"
提示: 本文由神整理自网络,如有侵权请联系本站删除!
本站声明:
1、本站所有资源均来源于互联网,不保证100%完整、不提供任何技术支持;
2、本站所发布的文章以及附件仅限用于学习和研究目的;不得将用于商业或者非法用途;否则由此产生的法律后果,本站概不负责! - "one"
相关内容
- 通过CSS3的object-fit来调整图片适配尺寸的技巧简介浅谈CSS中的 object-fit 与 object-position的使用
- CSS3中currentColor关键字的妙用
- 魔幻般冒泡背景的CSS3按钮动画CSS3鼠标滑过图片效果 用Font Awesome库实现悬停图标基于CSS3实现鼠标滑过图片上移代码纯CSS3实现鼠标滑过按钮动画第二节
- 你值得拥有的CSS下拉菜单效果纯CSS实现下拉菜单的示例代码CSS3模拟动画下拉菜单效果CSS导航栏及弹窗示例代码CSS下拉菜单简单制作教程 css制作黑色经典导航下拉菜单基于CSS实现的4级下拉菜单效果代码CSS实现的灰色下拉菜单效果代码纯CSS实现的大型下拉菜单的示例代码
- 使用div+CSS将页脚始终控制在页面最下方的方法css三种方法实现div在浏览器水平居中一个div在浏览器水平居中的实现方法div+CSS制作类似微信对话气泡效果的实例总结EXCEL表格中的#DIV/0!等符号怎么全部当计算?让DIV水平垂直居中的两种完美方法推荐学习DIV+CSS网页布局之混合布局学习DIV+CSS网页布局之三列布局学习DIV+CSS网页布局之两列布局学习DIV+CSS网页布局之一列布局Div+CSS对HTML的table表格定位用法实例
- Div+CSS对HTML的table表格定位用法实例浅析Table 和 div 的简介及用法
- css实现移动端图片文字水平居中css水平居中的各种方法总结(推荐)浅析CSS实现水平垂直同时居中的5种思路CSS实现水平居中的4种思路简要概述css三种方法实现div在浏览器水平居中css使用flexbox布局容器内多元素水平居中关于css水平居中的小小探讨
- CSS圆角边框制作指南与实例Css3圆角边框制作代码css3圆角边框和边框阴影示例css教程制作css圆角边框(兼容全部浏览器)CSS3制作的圆角立体边框表格效果(通过css3设置圆角/绘边框)兼容IE6的图片圆角边框CSScss 圆角边框 Glossy.js 一个图片阴影+高光圆角边框的插件CSS新特性:圆角边框多栏Gird布局背景设置CSS的一些圆角图形实例分享CSS3绘制圆角矩形的简单示例
- CSS解决页面图片水平垂直居中问题的方法利用CSS3的flexbox实现水平垂直居中与三列等高布局Flexbox制作CSS布局实现水平垂直居中的简单实例浅析CSS实现水平垂直同时居中的5种思路让DIV水平垂直居中的两种完美方法推荐全面总结使用CSS实现水平垂直居中效果的方法CSS定位“十字架”之水平垂直居中HTML对于元素水平垂直居中的探讨关于html水平垂直居中的问题小结DIV或者DIV里面的图片水平与垂直居中的方法
- 纯css实现3D图像轮转效果使用CSS cross-fade()实现背景图像半透明效果的示例代码详解css图像拼合技术(精灵图)CSS图像替换技术的几种方案介绍CSS实现图像映射的方法
点击排行
本栏推荐