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