CSS counter计数器类似于变量。这些由CSS维护,并且这些值可以由CSS规则递增以跟踪它们的使用次数。其主要用途是,可以通过指定的规则来计算节点元素的使用次数。
CSS counter计数器有助于基于CSS的简单递增和显示生成内容的数字。
CSS计数器属性
以下是与CSS计数器一起使用的属性的列表:
-
counter-reset:用于创建或重置计数器。
-
counter-increment:用于增加计数器值。
-
content:用于插入生成的内容。
-
counter()或counters()函数:用于将计数器的值添加到元素。
注意:在使用CSS计数器之前,必须使用counter-reset创建它。
CSS Counter在线示例
让我们举个实例,为页面创建一个计数器,并为每个下一个元素增加计数器的值。
请参阅以下示例:
<!DOCTYPE html>
<html>
<head>
<style>
body {
counter-reset: section;
}
h2::before {
counter-increment: section;
content: "Section " counter(section) ": ";
}
</style>
</head>
<body>
<h1>CSS Counters计数器示例:</h1>
<h2>Java Tutorial</h2>
<h2>HTML Tutorial</h2>
<h2>CSS Tutorial</h2>
<h2>Oracle Tutorial</h2>
<p><strong>Note:</strong> IE8 浏览器下使用需声明!DOCTYPE.</p>
</body>
</html>
注意:在上面的示例中,您可以看到在主体选择器中为页面创建了一个计数器,它为每个h2元素增加了计数器值,并在每个元素的开头添加了“ Section <计数器的值>:”h2元素。
CSS嵌套计数器
您也可以在计数器内创建计数器。这称为计数器嵌套。让我们以一个示例来演示嵌套计数器。
请参阅以下示例:
<!DOCTYPE html>
<html>
<head>
<style>
body {
counter-reset: section;
}
h1 {
counter-reset: subsection;
}
h1::before {
counter-increment: section;
content: "Section " counter(section) ". ";
}
h2::before {
counter-increment: subsection;
content: counter(section) "." counter(subsection) " ";
}
</style>
</head>
<body>
<h1>Java tutorials:</h1>
<h2>Core Java tutorial</h2>
<h2>Servlet tutorial</h2>
<h2>JSP tutorial</h2>
<h2>Spring tutorial</h2>
<h2>Hibernate tutorial</h2>
<h1>Web technology tutorials:</h1>
<h2>HTML tutorial</h2>
<h2>CSS tutorial</h2>
<h2>jQuery tutorial</h2>
<h2>Bootstrap tutorial</h2>
<h1>Database tutorials:</h1>
<h2>SQL tutorial</h2>
<h2>MySQL tutorial</h2>
<h2>PL/SQL tutorial</h2>
<h2>Oracle tutorial</h2>
<p><strong>Note:</strong> 只有在指定了!DOCTYPE的情况下,IE8才支持这些属性。</p>
</body>
</html>
注意:在以上示例中,您可以看到为该节创建了一个计数器,并在该节中创建了另一个名为subsection的嵌套计数器。
不同级别的嵌套计数器
您可以使用嵌套计数器创建轮廓列表。它有助于您在不同级别的嵌套计数器之间插入字符串。
请参阅以下示例:
<!DOCTYPE html>
<html>
<head>
<style>
ol {
counter-reset: section;
list-style-type: none;
}
li::before {
counter-increment: section;
content: counters(section,".") " ";
}
</style>
</head>
<body>
<h2>不同的嵌套级别的计数器</h2>
<ol>
<li>item</li>
<li>item
<ol>
<li>item</li>
<li>item</li>
<li>item
<ol>
<li>item</li>
<li>item</li>
<li>item</li>
</ol>
</li>
<li>item</li>
</ol>
</li>
<li>item</li>
<li>item</li>
</ol>
<p><strong>Note:</strong> 只有在指定了!DOCTYPE的情况下,IE8才支持这些属性。</p>
</body>
</html>