CSS计数器 counter

适用场景:

当排序以及序号变动对服务端造成的压力大的情况下,使用css计数。 在早期,只有ol和ul可以对子元素li进行排序,,而CSS2.1规范中加入了counter这一属性,配合伪元素:before、:after中的content使用,便可以对指定的元素进行排序。

CSS计数器包括了counter-reset、counter-increment、content三个属性、counter() 函数

定义和用法:

counter-increment 属性设置某个选取器每次出现的计数器增量。默认增量是 1。

利用这个属性,计数器可以递增(或递减)某个值,这可以是正值或负值。如果没有提供 number 值,则默认为 1。如果使用了 “display: none”,则无法增加计数。如使用 “visibility: hidden”,则可增加计数。

可能的值:

none 默认。选择器无计数器增量。 id number id 定义将增加计数的选择器、id 或 class。 number 定义增量,可以是正数、零或者负数。 inherit 规定应该从父元素继承 counter-increment 属性的值。

counter-reset 属性设置某个选择器出现次数的计数器的值。默认为 0。利用这个属性,计数器可以设置或重置为任何值,可以是正值或负值。如果没有提供 number,则默认为 0。

可能的值:

none 默认。不能对选择器的计数器进行重置。 id number id 定义重置计数器的选择器、id 或 class。 number 可设置此选择器出现次数的计数器的值。可以是正数、零或负数。 inherit 规定应该从父元素继承 counter-reset 属性的值。

counter()函数只能被使用在content属性上。如果想重复多次计数器可以使用 counters()

第一个参数:counter-increment中定义的计数器标识符; 第二个参数:计数器风格,类似于list-style-type。

demo:

<!DOCTYPE html>

<html>

<head>

<meta charset="UTF-8">

<meta http-equiv="X-UA-Compatible" content="IE=10,IE=9,IE=8">

<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=0, minimum-scale=1.0, maximum-scale=1.0">

<title>练小习的前端技术笔记</title>

<style type="text/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) " ";

}

</style>

</head>

<body>

<h1>HTML tutorials</h1>

<h2>HTML Tutorial</h2>

<h2>XHTML Tutorial</h2>

<h2>CSS Tutorial</h2>

<h1>Scripting tutorials</h1>

<h2>JavaScript</h2>

<h2>VBScript</h2>

<h1>XML tutorials</h1>

<h2>XML</h2>

<h2>XSL</h2>

</body>

</html>

提示:你可以先修改部分代码再运行。

浏览器兼容情况:

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏张善友的专栏

深入浅出事件流处理NEsper(三)

首先介绍一下NESPER的大体结构,NEsper从内容上分为两块,NEsper的核心NEsper.dll和NEsper.IO.dll。 (1)NEsper的核...

19710
来自专栏前端知识分享

第176天:页面优化

从用户角度而言,优化能够让页面加载得更快、对用户的操作响应得更及时,能够给用户提供更为友好的体验。从服务商角度而言,优化能够减少页面请求数、或者减小请求所占带宽...

622
来自专栏岑玉海

Hive Tuning(四) 从查询计划看hive.auto.convert.join的好处

今天我们来讲一下如何看懂Hive的查询计划。 hive的执行计划包括三部分 – Abstract syntax tree – 可以直接忽略  – Sta...

2787
来自专栏未闻Code

Tenacity——Exception Retry 从此无比简单

Python 装饰器装饰类中的方法这篇文章,使用了装饰器来捕获代码异常。这种方式可以让代码变得更加简洁和Pythonic。

1261
来自专栏coding

python的多进程与多fork

1093
来自专栏Albert陈凯

3.3RDD的转换和DAG的生成

3.3 RDD的转换和DAG的生成 Spark会根据用户提交的计算逻辑中的RDD的转换和动作来生成RDD之间的依赖关系,同时这个计算链也就生成了逻辑上的DAG...

2967
来自专栏IT技术精选文摘

精讲Redis内存模型

1134
来自专栏java技术学习之道

Redis内存模型

1394
来自专栏Java技术

深入了解一下Redis的内存模型!

Redis是目前最火爆的内存数据库之一,通过在内存中读写数据,大大提高了读写速度,可以说Redis是实现网站高并发不可或缺的一部分。

502
来自专栏北京马哥教育

深入了解一下Redis的内存模型!

2574

扫码关注云+社区