Not() Selector排除content counter计数

利用css的content counter【1】自动生成目录编号,可以节省不少排版编序号的时间。但是有一个问题,content counter默认把所有层级里的<ol>都计入编号,如果页面里有些ol里li不希望计入目录编号该怎么办呢(例如代码段里的行号),Not() Selector可以很好的解决这个问题【2】

/*设置content counter*/
.entry ol {
counter-reset: section;
list-style-type: none;
}
 
/*计数所有的li除了class为.codeline的li元素*/
.entry ol li:not(.codeline):before {
/*这里的.codeline可以是元素或者选择器*/
counter-increment: section;
content: counters(section , ".") " ";
}

我用的代码高亮生成的行号每个class名字都不一样(如L0,L1),可以通过改高亮代码js,为每一行增加一个class,然后再not这个class名。

Leave a Reply

Your email address will not be published. Required fields are marked *