react+gsap实现密码输入强度动画显示效果代码
代码语言:html
所属分类:表单美化
代码描述:react+gsap实现密码输入强度动画显示效果代码
下面为部分代码预览,完整代码请点击下载或在bfwstudio webide中打开
<!DOCTYPE html> <html lang="en" > <head> <meta charset="UTF-8"> <style> * { margin: 0; padding: 0; box-sizing: border-box; user-select: none; } #app { height: 100vh; width: 100%; display: flex; align-items: center; justify-content: center; background: #efefef; } #app .Main { display: flex; flex-direction: column; align-items: center; justify-content: center; transform: scale(1.6) translateY(-12%); } #app form { position: relative; top: -18px; } #app .field { position: relative; display: flex; align-items: center; justify-content: flex-start; height: 48px; width: 100%; } #app .field label, #app .field i { display: flex; align-items: center; height: 100%; position: absolute; pointer-events: none; } #app .field i { left: 0; color: #bdbdbd; padding: 6px; padding-left: 18px; transform-origin: center; cursor: pointer; } #app .field label { left: 43.2px; font-size: 14px; font-family: SemplicitaPro; color: #bdbdbd; } #app .field input { width: 180px; height: 100%; padding-left: 43.2px; padding-right: 12px; font-size: 16px; border-radius: 30px; border: 1px solid #dbdbdb; font-family: SemplicitaPro; color: #ff79e6; caret-color: #dbdbdb; outline: none; box-shadow: inset 0 -3px 0 rgba(0, 0, 0, 0.05); } #app svg { position: relative; left: 6px; width: 100%; max-width: 180px; pointer-events: none; } #app svg .shield .st0 { fill: #ffe1f7 !important; } #app svg .shield .st1 { fill: white; } #app svg .shield .st2 { stroke: #ffe1f7; stroke-width: 1; stroke-miterlimit: 10; } #app svg .crown { transform: scale(0.8); transform-origin: 50% 40%; } #app svg .wind-left { transform: scale(0.6); transform-origin: 20% 85%; } #app svg .wind-right { transform: scale(0.6); transform-origin: 80% 85%; } #app svg .st0 { fill: white; stroke: #892276; stroke-width: 1; stroke-miterlimit: 10; } #app svg .st1 { fill: #ffe1f7; } #app svg .st2 { fill: #ffa6f7; } #app svg .st3 { fill: #ffa6f7; stroke: #892276; stroke-width: 1; stroke-miterlimit: 10; } #app svg .st4 { fill: #ff79e6; } #app svg .st5 { fill: none; stroke: #892276; stroke-width: 1; stroke-linecap: round; stroke-linejoin: round; stroke-miterlimit: 10; } @media (max-height: 720px) { #app .Main { transform: scale(1.2) translateY(-12%); } } </style> </head> <body > <div id="app"></div> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/react.dev.js"></script> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/react-dom.dev.js"></script> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/fontawesome-kit.js"></script> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/gsap.3.5.2.js"></script> <script type="text/javascript" src="//repo.bfw.wiki/bfwrepo/js/DrawSVGPlugin.js"></script> <script > // Components const Main = () => { return /*#__PURE__*/( React.createElement("main", { className: "Main" }, /*#__PURE__*/ React.createElement(SVG, null), /*#__PURE__*/ React.createElement(Form, null))); }; const Form = () => { return /*#__PURE__*/( React.createElement("form", null, /*#__PURE__*/ React.createElement(PasswordField, null))); }; const PasswordField = () => { return /*#__PURE__*/( React.createElement("div", { className: "field" }, /*#__PURE__*/ React.createElement("label", { for: "password" }, "Password"), /*#__PURE__*/ React.createElement("input", { type: "password".........完整代码请登录后点击上方下载按钮下载查看
网友评论0