1. 程式人生 > 其它 >css計數器之小案例

css計數器之小案例

技術標籤:css

css計數器
counter-reset:counterName //建立或重置計數器
counter-increment:counterName //遞增變數
content:插入生成的內容 //一般和偽類 ::before::after搭配使用
counter(counterName)或counters(函式) //將計數器的值新增到元素

先展示效果圖,然後下面是程式碼。雖然看著簡單,但用到的知識點蠻多的。
最重要的是程式碼的可擴充套件性
效果圖展示

<!DOCTYPE html>
<html lang="en">

<head>
    <
meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>Document</title> <style> * { padding: 0; margin: 0; } body { counter-reset:
counter; } .circle_container { width: 100%; height: 80px; display: flex; justify-content: center; align-items: center; /* margin-top: 30px; */ } .circle_container li { counter-increment: counter;
list-style: none; flex-grow: 1; position: relative; } .circle_container li:last-child{ flex-grow: 0; } .circle { width: 40px; height: 40px; border-radius: 50%; background-color: #BCBCBC; display: flex; justify-content: center; align-items: center; } li .line{ width: 100%; height: 2px; background-color: #bcbcbc; position: absolute; top: 20px; left: 0; z-index: -1; } .circle_container li:last-child .line{ display: none; } .circle_num { width: 32px; height: 32px; border-radius: 50%; line-height: 35px; text-align: center; color: #fff; font-weight: bold; } .circle_num::after { content: counter(counter) } .circle_detail { margin-top: 10px; color: #444; font-weight: bold; } .circle_detail::after { content: '第'counter(counter)'步' } .finished .circle{ background-color:#00BC9B; } .finished .circle_num{ border: 2px solid #fff; } .finished .circle_detail{ color:#00BC9B; } .finished .line{ background-color: #00BC9B; } </style> </head> <body> <ul class="circle_container"> <li class="finished"> <div class="line"></div> <div class='circle'> <span class='circle_num'></span> </div> <div class="circle_detail"></div> </li> <li class="finished"> <div class="line"></div> <div class='circle'> <div class='circle_num'></div> </div> <div class="circle_detail"></div> </li> <li> <div class="line"></div> <div class='circle'> <span class='circle_num'></span> </div> <div class="circle_detail"></div> </li> <li> <div class="line"></div> <div class='circle'> <span class='circle_num'></span> </div> <div class="circle_detail"></div> </li> </ul> </body> </html>