CSS 小技巧:counter 实现有序列表编号自增

做前端开发的童鞋都知道 ol 是有序列表 ,全称是ordered list。其使用有如下几种方式:

一、使用数字编号

1

2

3

4

5

<ol>

    <li>极限编程网</li>

    <li>博客园</li>

    <li>CSDN</li>

</ol>

二、使用大写字母

1

2

3

4

5

6

7

8

9

10

<ol  type="A">

    <li>极限编程网</li>

    <li>博客园</li>

    <li>CSDN</li>

</ol>

 

/* 也可以通过 css 控制*/

ol{

    list-style: upper-alpha;

}

三、使用小写字母

1

2

3

4

5

6

7

8

9

<ol  type="a">

    <li>极限编程网</li>

    <li>博客园</li>

    <li>CSDN</li>

</ol>

/* 也可以通过 css 控制*/

ol{

    list-style: lower-alpha;

}

四、大写罗马数字

1

2

3

4

5

6

7

8

9

<ol  type="I">

    <li>极限编程网</li>

    <li>博客园</li>

    <li>CSDN</li>

</ol>

/* 也可以通过 css 控制*/

ol{

    list-style: upper-roman;

}

五、小写罗马数字

1

2

3

4

5

6

7

8

9

<ol  type="i">

    <li>极限编程网</li>

    <li>博客园</li>

    <li>CSDN</li>

</ol>

/* 也可以通过 css 控制*/

ol{

    list-style: lower-roman;

}

假如现在有需求,需要我们对 ol 序号做美化,实现如下效果呢?

这里我们使用css 的 counter 属性搭配 before 伪元素来实现,不过 counter 属性也需要配合其他css属性使用,接着说说这两个属性的用法。

counter-reset:主要功能是用来标识计数器的作用域的。它只能作用于选择器上,它的值包括两部分:第一部分为计数器的名字;第二部分为计数器的起始值(默认为0)

counter-increment:表明计数器实际用到的范围 。他的值也包括两部分:第一个为计数器的名字,即counter-reset设置好的名字,第二个值标识递增的值(默认为1)

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>CSS3 counter </title>

    <style type="text/css">

 ol{

            list-style: none;

 counter-reset: blogs 0; /* 从 0 开始 */

 }

        ol li{

            position: relative;

 font-size: 18px;

 height: 32px;

 line-height: 32px;

 background-color: azure;

 margin: 4px 0px;

 padding: 0px 4px;

 }

        .counter1 li:before{

            position: absolute;

 top: 0px;

 bottom: 0;

 left: -32px;

 counter-increment: blogs 1;/* 每次递增 1 */

 content: counter(blogs);

 width: 32px;

 text-align: center;

 background-color: #ccc;

 }

        .counter2 li:before{

            position: absolute;

 top: 0px;

 bottom: 0;

 left: -32px;

 counter-increment: blogs 2;/* 每次递增 2 */

 content: counter(blogs)"、";

 width: 32px;

 text-align: center;

 background-color: #ccc;

 }

    </style>

</head>

<body>

    <ol class="counter1">

        <li>极限编程网</li>

        <li>博客园</li>

        <li>CSDN</li>

    </ol>

    <p></p>

    <ol class="counter2">

        <li>极限编程网</li>

        <li>博客园</li>

        <li>CSDN</li>

    </ol>

</body>

</html>

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值