anime.js+svg+css实现带进度条显示的操作按钮动画效果代码
代码语言:html
所属分类:进度条
代码描述:anime.js+svg+css实现带进度条显示的操作按钮动画效果代码
代码标签: anime.js svg css 进度条 显示 操作 按钮
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<link href="https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@500&display=swap" rel="stylesheet">
<style>
* {
box-sizing: border-box;
}
body {
width: 100%;
height: 100vh;
background-color: #f8f7fc;
font-family: "Plus Jakarta Sans", sans-serif;
}
body main {
display: flex;
justify-content: center;
align-items: center;
width: inherit;
height: inherit;
}
body main .btn-area {
position: relative;
width: calc(210px + 2px);
height: calc(60px + 2px);
}
body main .btn-area:hover .main-btn {
opacity: 0.25;
}
body main .btn-area .main-btn {
width: inherit;
height: inherit;
opacity: 0.15;
transition: 250ms;
}
body main .btn-area .main-btn rect {
width: 210px;
height: 60px;
transition: 250ms;
}
body main .btn-area .progress-area,
body main .btn-area .complete-area {
position: absolute;
display: flex;
justify-content: space-evenly;
align-items: center;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 100%;
color: #1578ff;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
opacity: 1;
}
body main .btn-area .progress-area .area-left,
body main .btn-area .complete-area .area-left {
display: flex;
}
body main .btn-area .progress-area .area-left svg,
body main .btn-area .complete-area .area-left svg {
margin-right: 1rem;
opacity: 0;
}
body main .btn-area .progress-area .area-left span,
body main .btn-area .complete-area .area-left span {
width: 50px;
text-align: right;
}
body main .btn-area .progress-area .area-right,
body main .btn-area .complete-area .area-right {
position: relative;
display: flex;
align-items: center;
height: 20px;
margin-right: -1rem;
padding-left: 1rem;
border-left: 1px solid #1578ff44;
overflow: hidden;
cursor: pointer;
}
body main .btn-area .progress-area .area-right:hover,
body main .btn-area .complete-area .area-right:hover {
height: 40px;
transition: 250ms height;
}
body main .btn-area .progress-area .area-right:hover svg,
body main .btn-area .complete-area .area-right:hover svg {
opacity: 1;
}
body main .btn-area .progress-area .area-right svg,
body main .btn-area .complete-area .area-right svg {
opacity: 0.5;
transition: 250ms;
}
body main .btn-area .progress-area .area-right .btn-play,
body main .btn-area .complete-area .area-right .btn-play {
position: absolute;
transform: translateY(40px);
}
body main .btn-area .complete-area {
justify-content: space-around;
display: none;
}
body main .btn-area .complete-area svg {
width: 40px;
height: 20px;
margin-right: 1rem;
padding-right: 1rem;
border-right: 1px solid #fff6;
}
body main .btn-area .complete-area svg path {
stroke-linecap: round;
stroke-linejoin: round;
stroke-width: 6px;
opacity: 0;
}
body main .btn-area .complete-area span {
color: #fffd;
padding-bottom: 1px;
opacity: 0;
}
body main .btn-area .frame-btn {
position: absolute;
top: 0;
left: 0;
width: inherit;
height: inherit;
}
body main .btn-area .frame-btn rect {
width: 210px;
height: 60px;
stroke-linecap: round;
stroke-linejoin: round;
}
body .instagram-link {
position: absolute;
right: 50px;
bottom: 50px;
}
body .instagram-link i {
color: #1578ff;
transition: 150ms;
font-size: 2rem;
opacity: 0.5;
}
body .instagram-link i:hover {
opacity: 1;
}
</style>
</head>
<body>
<main>
<div class="btn-area">
<svg class="main-btn" xmlns="http://www.w3.org/2000/svg" version="1.1">
<rect fill="#fff" stroke="#1578ff" stroke-width="2" x="1" y="1" rx="10" ry="10" />
</svg>
<svg class="frame-btn" xmlns="http://www.w3.org/2000/svg" version="1.1">
<rect fill="none" stroke="#1578ff" stroke-width="2" stroke-dasharray="525" stroke-dashoffset="525" x="1" y="1" rx="10" ry="10" />
</svg>
<div class="progress-area".........完整代码请登录后点击上方下载按钮下载查看
网友评论0