css技能进度条表现效果

javascript 复制代码
<!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>
        body,
        html {
            margin: 0;
            padding: 0;
            font-family: sans-serif;
        }
        
        * {
            box-sizing: border-box;
        }
        
        ul,
        li {
            margin: 0;
            padding: 0;
        }
        
        main {
            display: flex;
            align-items: center;
            height: 100vh;
            justify-content: center;
            background-color: #1e272e;
        }
        
        ul {
            width: 500px;
        }
        
        li {
            list-style: none;
            color: #d2dae2;
            font-size: 18px;
            margin: 48px 0;
            position: relative;
        }
        
        li::before,
        li::after {
            content: '';
            display: block;
            height: 16px;
            width: 100%;
            background-color: #1f4a59;
            position: absolute;
            bottom: -28px;
            border-radius: 6px;
        }
        
        li::before {
            box-shadow: 0 0 6px rgba(75, 207, 250, 0.2);
        }
        
        li::after {
            background-image: linear-gradient(90deg, #0fbcf9, #34e7e4);
            animation-duration: 1.2s;
            animation-fill-mode: forwards;
            animation-timing-function: ease-in-out;
        }
        
        .js::after {
            animation-name: js;
        }
        
        .react::after {
            animation-name: react;
        }
        
        .html5::after {
            animation-name: html5;
        }
        
        .css3::after {
            animation-name: css3;
        }
        
        .sketch::after {
            animation-name: sketch;
        }
        
        @keyframes js {
            from {
                width: 0;
            }
            to {
                width: 90%;
            }
        }
        
        @keyframes react {
            from {
                width: 0;
            }
            to {
                width: 80%;
            }
        }
        
        @keyframes html5 {
            from {
                width: 0;
            }
            to {
                width: 70%;
            }
        }
        
        @keyframes css3 {
            from {
                width: 0;
            }
            to {
                width: 60%;
            }
        }
        
        @keyframes sketch {
            from {
                width: 0;
            }
            to {
                width: 50%;
            }
        }
    </style>
</head>

<body>
    <main>
        <ul>
            <li class="js">JS</li>
            <li class="react">React</li>
            <li class="html5">HTML5</li>
            <li class="css3">CSS3</li>
            <li class="sketch">Sketch</li>
        </ul>
    </main>
</body>

</html>

效果图:

相关推荐
Din29 分钟前
主动取消的防抖
前端·javascript·typescript
百度地图汽车版40 分钟前
【AI地图 Tech说】第九期:让智能体拥有记忆——打造千人千面的小度想想
前端·后端
臣妾没空1 小时前
Elpis 全栈框架:从构建到发布的完整实践总结
前端·后端
H5开发新纪元1 小时前
Nginx 部署 Vue3 项目完整指南
前端·javascript·面试
决斗小饼干1 小时前
跨语言移植手记:把 TypeScript 的 Codex SDK 请进 .NET 世界
前端·javascript·typescript
小码哥_常1 小时前
Android Intent.setAction失效报错排查与修复全方案
前端
bluceli1 小时前
JavaScript模块化深度解析:从CommonJS到ES Modules的演进之路
前端·javascript
前端人类学1 小时前
前端输入框禁用:disabled、readonly 与.prop (‘disabled‘, true) 完全解析
前端·javascript
优秀稳妥的JiaJi1 小时前
分享一篇后台管理系统的通用skills
前端·vue.js·前端框架
程序员阿耶2 小时前
移动端适配终极指南:rem 原理与实战
前端