这是一款效果非常酷的分步式用户注册表单UI界面设计效果。在这个设计中简单的将用户注册分为3个步骤,用户填写完每一个步骤的信息后可以点击“下一步”按钮跳转到下一个步骤,也可以通过“前一步”按钮来查看前面的填写内容。在切换步骤的时候还带有非常炫酷的过渡动画效果。
制作方法
HTML结构
该分步式注册表单使用的HTML结构就是一个普通的表单元素。每一个注册步骤都使用一个元素来包裹。
账号设置
社交账号
个人详细信息
创建你的账号
这是第一步
填写社交账号
填写你的常用社交网络账号
个人详细信息
个人详细信息是保密的,不会被泄露
CSS样式
该分步式用户注册表单的CSS样式非常简单。首先是input元素和按钮都被简单的进行了一些美化:
/*inputs*/
#msform input, #msform textarea {
padding: 15px;
border: 1px solid #ccc;
border-radius: 3px;
width: 100%;
box-sizing: border-box;
font-family: "Microsoft YaHei",montserrat;
color: #2C3E50;
font-size: 13px;
}
/*buttons*/
#msform .action-button {
width: 100px;
background: #27AE60;
font-weight: bold;
color: white;
border: 0 none;
border-radius: 1px;
cursor: pointer;
padding: 10px 5px;
margin: 10px 5px;
}
#msform .action-button:hover, #msform .action-button:focus {
box-shadow: 0 0 0 2px white, 0 0 0 3px #27AE60;
}
表单顶部的导航进度条的颜色显示效果使用了CSS3的counter()函数来统计步骤,根据相应的步骤填充进度条的颜色。
#progressbar {
overflow: hidden;
/*CSS counters to number the steps*/
counter-reset: step;
}
#progressbar li {
list-style-type: none;
color: white;
text-transform: uppercase;
font-size: 9px;
width: 33.33%;
float: left;
position: relative;
}
#progressbar li:before {
content: counter(step);
counter-increment: step;
width: 20px;
line-height: 20px;
display: block;
font-size: 10px;
color: #333;
background: white;
border-radius: 3px;
margin: 0 auto 5px auto;
}
进度条本身使用的是无序列表li元素的:after伪元素来制作。由于第一个元素是不需要前面的进度条的,所以设置通过#progressbar li:first-child:after的content为none来取消它。
#progressbar li:after {
content: '';
width: 100%;
height: 2px;
background: white;
position: absolute;
left: -50%;
top: 9px;
z-index: -1; /*put it behind the numbers*/
}
#progressbar li:first-child:after {
content: none;
}
当进度条处于激活状态时(当前步骤),进度条被设置为绿底白字。
#progressbar li.active:before, #progressbar li.active:after{
background: #27AE60;
color: white;
}
JAVASCRIPT
领取专属 10元无门槛券
私享最新 技术干货