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>

效果图:

相关推荐
kyriewen118 小时前
你点的“刷新”是假刷新?前端路由的瞒天过海术
开发语言·前端·javascript·ecmascript·html5
skywalk816310 小时前
Kotti Next的tinyfrontend前端模仿Kotti 首页布局还是不太好看,感觉比Kotti差一点
前端
RopenYuan11 小时前
FastAPI -API Router的应用
前端·网络·python
走粥12 小时前
clsx和twMerge解决CSS类名冲突问题
前端·css
Purgatory00112 小时前
layui select重新渲染
前端·layui
weixin1997010801613 小时前
《中国供应商商品详情页前端性能优化实战》
前端·性能优化
赵孝正15 小时前
学习的本质是一个工程闭环:从模仿到内化的四阶段方法论(附风电实战案例)
前端·数据库·学习
Panzer_Jack17 小时前
easy-live2d v0.4.0 — 全面进化的 Live2D Web 开发体验
前端