CSS流程分步程式碼詳解
分享一段程式碼例項,它利用css實現了流程進度效果。
程式碼例項如下:
[HTML] 純文字檢視 複製程式碼執行程式碼<!DOCTYPE html> <html> <head> <meta charset=" utf-8"> <meta name="author" content="http://www.softwhy.com/" /> <title>螞蟻部落</title> <style type="text/css"> *{ margin:0px; padding:0px; } .steps { position:relative; margin-bottom:30px; /*建立步驟數字計數器*/ counter-reset:step; } /*步驟描述*/ .steps li { list-style-type: none; font-size: 12px; text-align: center; width: 25%; position: relative; float: left; } /*步驟數字*/ .steps li:before { display: block; /*設定計數器內容*/ content: counter(step); /*計數器值遞增*/ counter-increment: step; width: 32px; height: 32px; background-color: #019875; line-height: 32px; border-radius: 32px; font-size: 16px; color: #fff; text-align: center; font-weight: 700; margin: 0 auto 8px auto; } /*連線線*/ .steps li ~ li:after { content: ''; width: 100%; height: 2px; background-color: #019875; position: absolute; left: -50%; top: 15px; /*放置在數字層後面*/ z-index: -1; } /*將當前/完成步驟之前連線線變綠*/ .steps li.active:after { background-color: #019875; } /*將當前/完成步驟之後的數字及連線線變灰*/ .steps li.active ~ li:before, .steps li.active ~ li:after { background-color: #777; } </style> </head> <body> <ul class="steps"> <li>螞蟻部落一</li> <li class="active">螞蟻部落二</li> <li>螞蟻部落三</li> <li>螞蟻部落四</li> </ul> </body> </html>
上面的程式碼實現了我們的要求,下面介紹一下它的實現過程。
一.程式碼註釋:
[CSS] 純文字檢視 複製程式碼*{ margin:0px; padding:0px; }
將所有元素的內邊距和外邊距設定為0。
[CSS] 純文字檢視 複製程式碼.steps { position:relative; margin-bottom:30px; /*建立步驟數字計數器*/ counter-reset:step; }
設定class屬性值為steps的元素為相對定位,下外邊距是30px,並且建立一個計數器step,預設值是1。
[CSS] 純文字檢視 複製程式碼.steps li { list-style-type: none; font-size: 12px; text-align: center; width: 25%; position: relative; float: left; }
設定li元素的相關樣式。比如去掉列表預設前面的樣式。並且設定其中的字型是水平居中。
寬度值是25% ,又由於有四個進度,所以是橫向平均分配尺寸;float:left可以讓li元素水平排列。
[CSS] 純文字檢視 複製程式碼/*步驟數字*/ .steps li:before { display: block; /*設定計數器內容*/ content: counter(step); /*計數器值遞增*/ counter-increment: step; width: 32px; height: 32px; background-color: #019875; line-height: 32px; border-radius: 32px; font-size: 16px; color: #fff; text-align: center; font-weight: 700; margin: 0 auto 8px auto; }
在li元素內部通過偽元素選擇器新增一個偽元素。
這個偽元素就是我們看到的圓形元素;並且可以通過計數器功能為其新增數字。並且設定其在li元素中是水平居中。
[CSS] 純文字檢視 複製程式碼/*連線線*/ .steps li ~ li:after { content: ''; width: 100%; height: 2px; background-color: #019875; position: absolute; left: -50%; top: 15px; /*放置在數字層後面*/ z-index: -1; }
.steps li ~ li:after 的作用是在除去第一個li元素以外的其他li元素中通過偽元素選擇器新增一個偽元素,這個偽元素就是綠色橫線;由於這個偽元素是塊級元素,所以它的寬度填滿整個li元素。
left屬性值為-50%的作用是讓當前li元素的橫線向左移動,連線到前一個圓形偽元素,並且由於 z-index:是負數,那麼此橫線會從圓形偽元素下面貫穿,而不會覆蓋上面的數字。
[CSS] 純文字檢視 複製程式碼.steps li.active:after { background-color: #019875; }
將當前完成步驟之前連線線變綠。
[CSS] 純文字檢視 複製程式碼.steps li.active ~ li:before, .steps li.active ~ li:after { background-color: #777; }
將當前完成步驟之後的數字及連線線變灰。
二.相關閱讀:
(1).:before參閱CSS E:before/E::before一章節。
(2).border-radius參閱CSS3 border-radius一章節。
(3).content參閱css content一章節。
相關文章
- css橫向導航欄製作流程詳解CSS
- 【zookeeper原始碼】啟動流程詳解原始碼
- shiro登陸流程原始碼詳解原始碼
- SpringSecurity認證流程原始碼詳解SpringGse原始碼
- CSS3繪製太極圖程式碼例項詳解CSSS3
- CSS3 Flex 彈性佈局例項程式碼詳解CSSS3Flex
- yolov5 篩選正樣本流程 程式碼多圖詳解YOLO
- 如何加盟代理小程式?小程式加盟代理流程詳解
- Mapreduce Job提交流程原始碼和切片原始碼詳解原始碼
- CSS 定位詳解CSS
- css定位詳解CSS
- 流程控制詳解
- 詳解Android Gradle生成位元組碼流程AndroidGradle
- zxing開源庫工作流程原始碼詳解原始碼
- Git協作流程詳解Git
- pb錯誤程式碼詳解
- css浮動詳解CSS
- CSS之Position詳解CSS
- CSS盒模型詳解CSS模型
- 詳解CSS盒模型CSS模型
- 【目標檢測】2萬字詳解 RCNN系列 YOLO系列 YOLOv3程式碼實現全流程詳解 pytorchCNNYOLOPyTorch
- 教你怎麼使用css3給圖片新增漸變效果(程式碼詳解)CSSS3
- JavaScript彈幕效果程式碼詳解JavaScript
- elasticsearch的java程式碼操作詳解ElasticsearchJava
- 以太坊官方 Token 程式碼詳解
- Github上傳原生程式碼詳解Github
- ProGuard程式碼混淆技術詳解
- Linux開機流程詳解Linux
- springMVC請求流程詳解SpringMVC
- CSS定位屬性詳解CSS
- CSS 選擇器詳解CSS
- CSS偽類使用詳解CSS
- CSS盒子模型詳解CSS模型
- CSS偽類的詳解CSS
- CSS float相關詳解CSS
- CSS相容性詳解CSS
- CSS Flexbox詳解CSSFlex
- 「CSS3 」動畫詳解CSSS3動畫