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>

效果图:

相关推荐
打不着的大喇叭7 分钟前
uniapp的光标跟随和打字机效果
前端·javascript·uni-app
无我Code12 分钟前
2025----前端个人年中总结
前端·年终总结·创业
程序猿阿伟15 分钟前
《前端路由重构:解锁多语言交互的底层逻辑》
前端·重构
Sun_light31 分钟前
6个你必须掌握的「React Hooks」实用技巧✨
前端·javascript·react.js
爱学习的茄子33 分钟前
深度解析JavaScript中的call方法实现:从原理到手写实现的完整指南
前端·javascript·面试
莫空000034 分钟前
Vue组件通信方式详解
前端·面试
呆呆的心34 分钟前
揭秘 CSS 伪元素:不用加标签也能玩转出花的界面技巧 ✨
前端·css·html
susnm38 分钟前
Dioxus 与数据库协作
前端·rust
优雅永不过时_v43 分钟前
基于vite适用于 vue和 react 的Three.js低代码与Ai结合编辑器
前端·javascript
小皮侠1 小时前
nginx的使用
java·运维·服务器·前端·git·nginx·github