CSS 计数器
2019-05-10 本文已影响0人
maskerII
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>CSS 计数器</title>
<style>
/*使用CSS计数*/
/*body{*/
/* counter-reset: section;*/
/*}*/
/*h2::before{*/
/* counter-increment: section;*/
/* content: "Section" counter(section) ":";*/
/*}*/
/*嵌套计数*/
/*页面创建一个计数器*/
body{
counter-reset: section;
}
/*每一个h1创建一个计数器*/
h1{
counter-reset: subsection;
}
h1::before{
counter-increment: section;
content: "Section" counter(section) ":";
}
h2::before{
counter-increment: subsection;
content: counter(section) "." counter(subsection);
}
/*列表计数器*/
ol{
counter-reset: section;
list-style-type: none;
}
li::before{
counter-increment: section;
content: counters(section,".") " ";
}
</style>
</head>
<body>
<!--<h1>使用CSS计数</h1>-->
<!--<h2>HTML 教程</h2>-->
<!--<h2>CSS 教程</h2>-->
<!--<h2>JavaScript 教程</h2>-->
<!--<p><b>注意:</b> IE8 需要指定 !DOCTYPE 才可以支持该属性。</p>-->
<h1>嵌套计数</h1>
<h1>HTML 教程</h1>
<h2>HTML 教程</h2>
<h2>CSS 教程</h2>
<h1>XML 教程</h1>
<h2>XML</h2>
<h2>XSL</h2>
<p><b>注意:</b> IE8 需要指定 !DOCTYPE 才可以支持该属性。</p>
<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>
<ol>
<li>item</li>
<li>item</li>
</ol>
<p><b>注意:</b> IE8 需要指定 !DOCTYPE 才可以支持该属性。</p>
</body>
</html>
<!--
使用计数器自动编号
CSS 计数器根据规则来递增变量。
CSS 计数器使用到以下几个属性:
counter-reset - 创建或者重置计数器
counter-increment - 递增变量
content - 插入生成的内容
counter() 或 counters() 函数 - 将计数器的值添加到元素
要使用 CSS 计数器,得先用 counter-reset 创建:
以下实例在页面创建一个计数器 (在 body 选择器中),每个 <h2> 元素的计数值都会递增,
并在每个 <h2> 元素前添加 "Section <计数值>:"
CSS 实例
body {
counter-reset: section;
}
h2::before {
counter-increment: section;
content: "Section " counter(section) ": ";
}
-->
<!--
嵌套计数器
以下实例在页面创建一个计数器,在每一个 <h1> 元素前添加计数值 "Section <主标题计数值>.",
嵌套的计数值则放在 <h2> 元素的前面,内容为 "<主标题计数值>.<副标题计数值>":
CSS 实例
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) " ";
}
尝试一下 »
计数器也可用于列表中,列表的子元素会自动创建。这里我们使用了 counters() 函数在不同的嵌套层级中插入字符串:
CSS 实例
ol {
counter-reset: section;
list-style-type: none;
}
li::before {
counter-increment: section;
content: counters(section,".") " ";
}
-->
<!--
CSS 计数器属性
属性 描述
content 使用 ::before 和 ::after 伪元素来插入自动生成的内容
counter-increment 递增一个或多个值
counter-reset 创建或重置一个或多个计数器
-->