1. 首页
  2. web前端
  3. Css

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>

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

浏览器兼容情况:

CSS计数器 counter

原创文章,作者:jing

本文来自投稿,不代表 怪小克 立场,如若转载,请注明出处:https://wangchaoke.cn/?p=1705

本站发布的内容若侵犯到您的权益,请邮件联系 860095347@qq.com 删除,我们将及时处理!

发表评论

登录后才能评论

联系我们

860-095-347

在线咨询:点击这里给我发消息

邮件:860095347@@qq.com

工作时间:周一至周五,9:30-18:30,节假日休息

QR code