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