'A'使用
inline水平元素换行,此技术若有兴趣,可参考之前的“使用CSS(Unicode字符)让inline水平元素换行”一文。④ 下面介绍下
counters()方法。看似值多了个字母
s, 但表意大变身。
counters几乎可以说是嵌套计数的代名词。我们平时的序号,不可能就只是
1,2,3,4,.., 还会有诸如
1.1,1.2,1.3,...等的子序号。得,前者就是
counter()干的事情,后者就是
counters()干的事情。基本用法为:
counters(name, string); /* MDN上说,要想IE8兼容,这里逗号后面的空格要去掉,但是鄙人IE11的IE8模式看,无此问题 */其中,
string参数为字符串(需要引号包围的)(必须参数),表示子序号的连接字符串。例如
1.1的
string就是
'.',
1-1就是
'-'.看上去很简单。但是,如果理解不是很深刻,日后在使用肯定会遇到麻烦——“咦?怎么没有子序列,明明语法正确的啊?”首先,记住这一句话,“普照源是唯一的”,所以,如果你在只在
body标签上设置
counter-reset,就算里面的子元素嵌套了祖宗十八代,还是不会有任何嵌套序号出现的!所以,要想实现嵌套,必须让每一个列表容器拥有一个“普照源”,通过子辈对父辈的
counter-reset重置、配合
counters()方法才能实现计数嵌套效果。闻名不如见面。您可以狠狠地点击这里:CSS计数器内嵌demo

也会遇到这样的麻烦——“咦,怎么子序列不按层级顺序来啊,命名语法正确啊?” 还是要记住这一句话:“一个容器里的普照源(reset)是唯一的”,所以,如果你不小心把计数显示和技术reset元素以兄弟元素形式放在一起(虽然HTML内容布局呈现是没有异常的),就很可能会出现计数序号乱入的情况。
闻名不如见面。您可以狠狠地点击这里:CSS计数器counters列表被reset乱入demo










