svg+css实现立体表情选择动画效果代码
代码语言:html
所属分类:动画
代码描述:svg+css实现立体表情选择动画效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style>
.feedback {
--normal: #414052;
--normal-shadow: #313140;
--normal-shadow-top: #4c4b60;
--normal-mouth: #2e2e3d;
--normal-eye: #282734;
--active: #f8da69;
--active-shadow: #f4b555;
--active-shadow-top: #fff6d3;
--active-mouth: #f05136;
--active-eye: #313036;
--active-tear: #76b5e7;
--active-shadow-angry: #e94f1d;
--hover: #454456;
--hover-shadow-top: #59586b;
margin: 0;
padding: 0;
list-style: none;
display: flex;
}
.feedback label {
position: relative;
transition: transform 0.3s;
cursor: pointer;
}
.feedback label:not(:last-child) {
margin-right: 20px;
}
.feedback label input {
-webkit-appearance: none;
-moz-appearance: none;
appearance: none;
outline: none;
border: none;
display: block;
position: absolute;
width: 40px;
height: 40px;
left: 0;
top: 0;
margin: 0;
padding: 0;
border-radius: 50%;
background: var(--sb, var(--normal));
box-shadow: inset 3px -3px 4px var(--sh, var(--normal-shadow)), inset -1px 1px 2px var(--sht, var(--normal-shadow-top));
transition: background 0.4s, box-shadow 0.4s, transform 0.3s;
-webkit-tap-highlight-color: transparent;
}
.feedback label div {
width: 40px;
height: 40px;
position: relative;
transform: perspective(240px) translateZ(4px);
}
.feedback label div svg, .feedback label div:before, .feedback label div:after {
display: block;
position: absolute;
left: var(--l, 9px);
top: var(--t, 13px);
width: var(--w, 8px);
height: var(--h, 1px);
transform: rotate(var(--r, 0deg)) scale(var(--sc, 1)) translateZ(0);
}
.feedback label div svg {
fill: none;
stroke: var(--s);
stroke-width: 1.5px;
stroke-linecap: round;
stroke-linejoin: round;
transition: stroke 0.4s;
}
.feedback label div svg.eye {
--s: var(--e, var(--normal-eye));
--t: 17px;
--w: 7px;
--h: 4px;
}
.feedbac.........完整代码请登录后点击上方下载按钮下载查看
















网友评论0