counter-increment自增多次 无效
学习计数器遇到的问题,两天搜索找不到相关资料。
问题 1:
HTML:
<div>
<p>text</p>
<p>text</p>
<p>text</p>
</div>
CSS:
div{counter-reset:pl;}
p::before{content:counter(pl);counter-increment:pl;}
p::after{content:counter(pl);}
结果:
1text1
2text2
3text3
因为教程上说不论何处,每次出现counter-increment
计数器皆自增,于是修改CSS为:
div{counter-reset:pl;}
p::before{content:counter(pl);counter-increment:pl;}
p::after{content:counter(pl);counter-increment:pl;}
两个counter-increment
是不是计数器自增2次?于是寄希望能出现结果
2text2
3text3
4text4
可是。。。却出现这个东西。。。↓
1text2
3text4
5text6
这是什么意思???
问题2:
还是基于上题,这次我把counter-increment
单独放置
div{counter-reset:pl;}
p::before{content:counter(pl);counter-increment:pl;}
p::after{content:counter(pl);}
p{counter-increment:pl;}
结果:
2text2
4text4
6text6
这个结论虽然不是我设想的,但也貌似懂了,两个counter-increment
的语义是:计数器自增步长=2。于是从0初始,2,4,6...
原谅我整天胡思乱想,于是又加一个counter-increment
会出现什么?
div{counter-reset:pl;}
p::before{content:counter(pl);counter-increment:pl;}
p::after{content:counter(pl);}
p{counter-increment:pl;}
p{counter-increment:pl;}
是不是步长=3,于是出现 3,6,9...
可我又被耍了
结果无任何变化,不论我加入多少个counter-increment
,可结果固定在2,4,6..不变了
2text2
4text4
6text6
这两天问了不少问题,有时候在想,有没有比较靠谱、深入的教程,多些例子、课后题的教程,毕竟w3c太简略了,MDN每节也只一个课后题。每次遇到点问题都来这问,挺麻烦大家的,不好意思。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
问题1:
我不太理解你的问题,before 一次 after 一次不是正好
如果你想要每次 +2,应该是:
问题2:
CSS 里重复多次的结果,会把所有样式合并到一起,所以重复两次和只写一次效果是一样的。
CSS描述的是你想要的结果(声明式),而不是你想要计算机怎么做(过程式)。所以:
p
,再处理p::before
,再处理p::after
;counter-increment
,再处理content
;所以CSS处理问题1的顺序是
处理问题2.1的顺序是
处理问题2.2的顺序是