7 changed files with 480 additions and 288 deletions
@ -0,0 +1,252 @@ |
|||
|
|||
@import url('https://fonts.googleapis.com/css?family=Montserrat:400,800'); |
|||
|
|||
* { |
|||
box-sizing: border-box; |
|||
} |
|||
|
|||
body { |
|||
background: #f6f5f7; |
|||
display: flex; |
|||
justify-content: center; |
|||
align-items: center; |
|||
flex-direction: column; |
|||
font-family: 'Montserrat', sans-serif; |
|||
height: 100vh; |
|||
/* margin: -20px 0 50px; */ |
|||
} |
|||
|
|||
h1 { |
|||
font-weight: bold; |
|||
margin: 0; |
|||
} |
|||
|
|||
h2 { |
|||
text-align: center; |
|||
} |
|||
|
|||
p { |
|||
font-size: 14px; |
|||
font-weight: 100; |
|||
line-height: 20px; |
|||
letter-spacing: 0.5px; |
|||
margin: 20px 0 30px; |
|||
} |
|||
|
|||
span { |
|||
font-size: 12px; |
|||
} |
|||
|
|||
a { |
|||
color: #333; |
|||
font-size: 14px; |
|||
text-decoration: none; |
|||
margin: 15px 0; |
|||
} |
|||
|
|||
button { |
|||
border-radius: 20px; |
|||
border: 1px solid #FF4B2B; |
|||
background-color: #FF4B2B; |
|||
color: #FFFFFF; |
|||
font-size: 12px; |
|||
font-weight: bold; |
|||
padding: 12px 45px; |
|||
letter-spacing: 1px; |
|||
text-transform: uppercase; |
|||
transition: transform 80ms ease-in; |
|||
} |
|||
|
|||
button:active { |
|||
transform: scale(0.95); |
|||
} |
|||
|
|||
button:focus { |
|||
outline: none; |
|||
} |
|||
|
|||
button.ghost { |
|||
background-color: transparent; |
|||
border-color: #FFFFFF; |
|||
} |
|||
|
|||
form { |
|||
background-color: #FFFFFF; |
|||
display: flex; |
|||
align-items: center; |
|||
justify-content: center; |
|||
flex-direction: column; |
|||
padding: 0 50px; |
|||
height: 100%; |
|||
text-align: center; |
|||
} |
|||
|
|||
input { |
|||
background-color: #eee; |
|||
border: none; |
|||
padding: 12px 15px; |
|||
margin: 8px 0; |
|||
width: 100%; |
|||
} |
|||
|
|||
.container { |
|||
background-color: #fff; |
|||
border-radius: 10px; |
|||
box-shadow: 0 14px 28px rgba(0,0,0,0.25), |
|||
0 10px 10px rgba(0,0,0,0.22); |
|||
position: relative; |
|||
overflow: hidden; |
|||
width: 768px; |
|||
max-width: 100%; |
|||
min-height: 480px; |
|||
} |
|||
|
|||
.form-container { |
|||
position: absolute; |
|||
top: 0; |
|||
height: 100%; |
|||
transition: all 0.6s ease-in-out; |
|||
} |
|||
|
|||
.sign-in-container { |
|||
left: 0; |
|||
width: 50%; |
|||
z-index: 2; |
|||
} |
|||
|
|||
.container.right-panel-active .sign-in-container { |
|||
transform: translateX(100%); |
|||
} |
|||
|
|||
.sign-up-container { |
|||
left: 0; |
|||
width: 50%; |
|||
opacity: 0; |
|||
z-index: 1; |
|||
} |
|||
|
|||
.container.right-panel-active .sign-up-container { |
|||
transform: translateX(100%); |
|||
opacity: 1; |
|||
z-index: 5; |
|||
animation: show 0.6s; |
|||
} |
|||
|
|||
@keyframes show { |
|||
0%, 49.99% { |
|||
opacity: 0; |
|||
z-index: 1; |
|||
} |
|||
|
|||
50%, 100% { |
|||
opacity: 1; |
|||
z-index: 5; |
|||
} |
|||
} |
|||
|
|||
.overlay-container { |
|||
position: absolute; |
|||
top: 0; |
|||
left: 50%; |
|||
width: 50%; |
|||
height: 100%; |
|||
overflow: hidden; |
|||
transition: transform 0.6s ease-in-out; |
|||
z-index: 100; |
|||
} |
|||
|
|||
.container.right-panel-active .overlay-container{ |
|||
transform: translateX(-100%); |
|||
} |
|||
|
|||
.overlay { |
|||
background: #FF416C; |
|||
background: -webkit-linear-gradient(to right, #FF4B2B, #FF416C); |
|||
background: linear-gradient(to right, #FF4B2B, #FF416C); |
|||
background-repeat: no-repeat; |
|||
background-size: cover; |
|||
background-position: 0 0; |
|||
color: #FFFFFF; |
|||
position: relative; |
|||
left: -100%; |
|||
height: 100%; |
|||
width: 200%; |
|||
transform: translateX(0); |
|||
transition: transform 0.6s ease-in-out; |
|||
} |
|||
|
|||
.container.right-panel-active .overlay { |
|||
transform: translateX(50%); |
|||
} |
|||
|
|||
.overlay-panel { |
|||
position: absolute; |
|||
display: flex; |
|||
align-items: center; |
|||
justify-content: center; |
|||
flex-direction: column; |
|||
padding: 0 40px; |
|||
text-align: center; |
|||
top: 0; |
|||
height: 100%; |
|||
width: 50%; |
|||
transform: translateX(0); |
|||
transition: transform 0.6s ease-in-out; |
|||
} |
|||
|
|||
.overlay-left { |
|||
transform: translateX(-20%); |
|||
} |
|||
|
|||
.container.right-panel-active .overlay-left { |
|||
transform: translateX(0); |
|||
} |
|||
|
|||
.overlay-right { |
|||
right: 0; |
|||
transform: translateX(0); |
|||
} |
|||
|
|||
.container.right-panel-active .overlay-right { |
|||
transform: translateX(20%); |
|||
} |
|||
|
|||
.social-container { |
|||
margin: 20px 0; |
|||
} |
|||
|
|||
.social-container a { |
|||
border: 1px solid #DDDDDD; |
|||
border-radius: 50%; |
|||
display: inline-flex; |
|||
justify-content: center; |
|||
align-items: center; |
|||
margin: 0 5px; |
|||
height: 40px; |
|||
width: 40px; |
|||
} |
|||
|
|||
footer { |
|||
background-color: #222; |
|||
color: #fff; |
|||
font-size: 14px; |
|||
bottom: 0; |
|||
position: fixed; |
|||
left: 0; |
|||
right: 0; |
|||
text-align: center; |
|||
z-index: 999; |
|||
} |
|||
|
|||
footer p { |
|||
margin: 10px 0; |
|||
} |
|||
|
|||
footer i { |
|||
color: red; |
|||
} |
|||
|
|||
footer a { |
|||
color: #3c97bf; |
|||
text-decoration: none; |
|||
} |
@ -1,252 +1,168 @@ |
|||
|
|||
@import url('https://fonts.googleapis.com/css?family=Montserrat:400,800'); |
|||
|
|||
* { |
|||
box-sizing: border-box; |
|||
} |
|||
|
|||
body { |
|||
background: #f6f5f7; |
|||
display: flex; |
|||
justify-content: center; |
|||
align-items: center; |
|||
flex-direction: column; |
|||
font-family: 'Montserrat', sans-serif; |
|||
height: 100vh; |
|||
/* margin: -20px 0 50px; */ |
|||
} |
|||
|
|||
h1 { |
|||
font-weight: bold; |
|||
margin: 0; |
|||
} |
|||
|
|||
h2 { |
|||
text-align: center; |
|||
} |
|||
|
|||
p { |
|||
font-size: 14px; |
|||
font-weight: 100; |
|||
line-height: 20px; |
|||
letter-spacing: 0.5px; |
|||
margin: 20px 0 30px; |
|||
} |
|||
|
|||
span { |
|||
font-size: 12px; |
|||
} |
|||
|
|||
a { |
|||
color: #333; |
|||
font-size: 14px; |
|||
text-decoration: none; |
|||
margin: 15px 0; |
|||
} |
|||
|
|||
button { |
|||
border-radius: 20px; |
|||
border: 1px solid #FF4B2B; |
|||
background-color: #FF4B2B; |
|||
color: #FFFFFF; |
|||
font-size: 12px; |
|||
font-weight: bold; |
|||
padding: 12px 45px; |
|||
letter-spacing: 1px; |
|||
text-transform: uppercase; |
|||
transition: transform 80ms ease-in; |
|||
} |
|||
|
|||
button:active { |
|||
transform: scale(0.95); |
|||
} |
|||
|
|||
button:focus { |
|||
outline: none; |
|||
} |
|||
|
|||
button.ghost { |
|||
background-color: transparent; |
|||
border-color: #FFFFFF; |
|||
} |
|||
|
|||
form { |
|||
background-color: #FFFFFF; |
|||
display: flex; |
|||
align-items: center; |
|||
justify-content: center; |
|||
flex-direction: column; |
|||
padding: 0 50px; |
|||
height: 100%; |
|||
text-align: center; |
|||
} |
|||
|
|||
input { |
|||
background-color: #eee; |
|||
border: none; |
|||
padding: 12px 15px; |
|||
margin: 8px 0; |
|||
width: 100%; |
|||
} |
|||
|
|||
.container { |
|||
background-color: #fff; |
|||
border-radius: 10px; |
|||
box-shadow: 0 14px 28px rgba(0,0,0,0.25), |
|||
0 10px 10px rgba(0,0,0,0.22); |
|||
position: relative; |
|||
overflow: hidden; |
|||
width: 768px; |
|||
max-width: 100%; |
|||
min-height: 480px; |
|||
} |
|||
|
|||
.form-container { |
|||
position: absolute; |
|||
top: 0; |
|||
height: 100%; |
|||
transition: all 0.6s ease-in-out; |
|||
} |
|||
|
|||
.sign-in-container { |
|||
left: 0; |
|||
width: 50%; |
|||
z-index: 2; |
|||
} |
|||
|
|||
.container.right-panel-active .sign-in-container { |
|||
transform: translateX(100%); |
|||
} |
|||
|
|||
.sign-up-container { |
|||
left: 0; |
|||
width: 50%; |
|||
opacity: 0; |
|||
z-index: 1; |
|||
} |
|||
|
|||
.container.right-panel-active .sign-up-container { |
|||
transform: translateX(100%); |
|||
opacity: 1; |
|||
z-index: 5; |
|||
animation: show 0.6s; |
|||
} |
|||
|
|||
@keyframes show { |
|||
0%, 49.99% { |
|||
opacity: 0; |
|||
z-index: 1; |
|||
} |
|||
|
|||
50%, 100% { |
|||
opacity: 1; |
|||
z-index: 5; |
|||
} |
|||
} |
|||
|
|||
.overlay-container { |
|||
position: absolute; |
|||
top: 0; |
|||
left: 50%; |
|||
width: 50%; |
|||
height: 100%; |
|||
overflow: hidden; |
|||
transition: transform 0.6s ease-in-out; |
|||
z-index: 100; |
|||
} |
|||
|
|||
.container.right-panel-active .overlay-container{ |
|||
transform: translateX(-100%); |
|||
} |
|||
|
|||
.overlay { |
|||
background: #FF416C; |
|||
background: -webkit-linear-gradient(to right, #FF4B2B, #FF416C); |
|||
background: linear-gradient(to right, #FF4B2B, #FF416C); |
|||
background-repeat: no-repeat; |
|||
background-size: cover; |
|||
background-position: 0 0; |
|||
color: #FFFFFF; |
|||
position: relative; |
|||
left: -100%; |
|||
height: 100%; |
|||
width: 200%; |
|||
transform: translateX(0); |
|||
transition: transform 0.6s ease-in-out; |
|||
} |
|||
|
|||
.container.right-panel-active .overlay { |
|||
transform: translateX(50%); |
|||
} |
|||
|
|||
.overlay-panel { |
|||
position: absolute; |
|||
display: flex; |
|||
align-items: center; |
|||
justify-content: center; |
|||
flex-direction: column; |
|||
padding: 0 40px; |
|||
text-align: center; |
|||
top: 0; |
|||
height: 100%; |
|||
width: 50%; |
|||
transform: translateX(0); |
|||
transition: transform 0.6s ease-in-out; |
|||
} |
|||
|
|||
.overlay-left { |
|||
transform: translateX(-20%); |
|||
} |
|||
|
|||
.container.right-panel-active .overlay-left { |
|||
transform: translateX(0); |
|||
} |
|||
|
|||
.overlay-right { |
|||
right: 0; |
|||
transform: translateX(0); |
|||
} |
|||
|
|||
.container.right-panel-active .overlay-right { |
|||
transform: translateX(20%); |
|||
@import url(https://fonts.googleapis.com/css?family=Open+Sans); |
|||
.btn { |
|||
display: inline-block; |
|||
*display: inline; |
|||
*zoom: 1; |
|||
padding: 4px 10px 4px; |
|||
margin-bottom: 0; |
|||
font-size: 13px; |
|||
line-height: 18px; |
|||
color: #333333; |
|||
text-align: center; |
|||
text-shadow: 0 1px 1px rgba(255, 255, 255, 0.75); |
|||
vertical-align: middle; |
|||
background-color: #f5f5f5; |
|||
background-image: -moz-linear-gradient(top, #ffffff, #e6e6e6); |
|||
background-image: -ms-linear-gradient(top, #ffffff, #e6e6e6); |
|||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#ffffff), to(#e6e6e6)); |
|||
background-image: -webkit-linear-gradient(top, #ffffff, #e6e6e6); |
|||
background-image: -o-linear-gradient(top, #ffffff, #e6e6e6); |
|||
background-image: linear-gradient(top, #ffffff, #e6e6e6); |
|||
background-repeat: repeat-x; |
|||
filter: progid:dximagetransform.microsoft.gradient(startColorstr=#ffffff, endColorstr=#e6e6e6, GradientType=0); |
|||
border-color: #e6e6e6 #e6e6e6 #e6e6e6; |
|||
border-color: rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.1) rgba(0, 0, 0, 0.25); |
|||
border: 1px solid #e6e6e6; |
|||
-webkit-border-radius: 4px; |
|||
-moz-border-radius: 4px; |
|||
border-radius: 4px; |
|||
-webkit-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); |
|||
-moz-box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); |
|||
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.05); |
|||
cursor: pointer; |
|||
*margin-left: 0.3em; |
|||
} |
|||
.btn:hover, |
|||
.btn:active, |
|||
.btn.active, |
|||
.btn.disabled, |
|||
.btn[disabled] { |
|||
background-color: #e6e6e6; |
|||
} |
|||
.btn-large { |
|||
padding: 9px 14px; |
|||
font-size: 15px; |
|||
line-height: normal; |
|||
-webkit-border-radius: 5px; |
|||
-moz-border-radius: 5px; |
|||
border-radius: 5px; |
|||
} |
|||
.btn:hover { |
|||
color: #333333; |
|||
text-decoration: none; |
|||
background-color: #e6e6e6; |
|||
background-position: 0 -15px; |
|||
-webkit-transition: background-position 0.1s linear; |
|||
-moz-transition: background-position 0.1s linear; |
|||
-ms-transition: background-position 0.1s linear; |
|||
-o-transition: background-position 0.1s linear; |
|||
transition: background-position 0.1s linear; |
|||
} |
|||
.btn-primary, |
|||
.btn-primary:hover { |
|||
text-shadow: 0 -1px 0 rgba(0, 0, 0, 0.25); |
|||
color: #ffffff; |
|||
} |
|||
.btn-primary.active { |
|||
color: rgba(255, 255, 255, 0.75); |
|||
} |
|||
.btn-primary { |
|||
background-color: #4a77d4; |
|||
background-image: -moz-linear-gradient(top, #6eb6de, #4a77d4); |
|||
background-image: -ms-linear-gradient(top, #6eb6de, #4a77d4); |
|||
background-image: -webkit-gradient(linear, 0 0, 0 100%, from(#6eb6de), to(#4a77d4)); |
|||
background-image: -webkit-linear-gradient(top, #6eb6de, #4a77d4); |
|||
background-image: -o-linear-gradient(top, #6eb6de, #4a77d4); |
|||
background-image: linear-gradient(top, #6eb6de, #4a77d4); |
|||
background-repeat: repeat-x; |
|||
filter: progid:dximagetransform.microsoft.gradient(startColorstr=#6eb6de, endColorstr=#4a77d4, GradientType=0); |
|||
border: 1px solid #3762bc; |
|||
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.4); |
|||
box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.2), 0 1px 2px rgba(0, 0, 0, 0.5); |
|||
} |
|||
.btn-primary:hover, |
|||
.btn-primary:active, |
|||
.btn-primary.active, |
|||
.btn-primary.disabled, |
|||
.btn-primary[disabled] { |
|||
filter: none; |
|||
background-color: #4a77d4; |
|||
} |
|||
.btn-block { |
|||
width: 100%; |
|||
display: block; |
|||
} |
|||
|
|||
.social-container { |
|||
margin: 20px 0; |
|||
* { |
|||
-webkit-box-sizing: border-box; |
|||
-moz-box-sizing: border-box; |
|||
-ms-box-sizing: border-box; |
|||
-o-box-sizing: border-box; |
|||
box-sizing: border-box; |
|||
} |
|||
|
|||
.social-container a { |
|||
border: 1px solid #DDDDDD; |
|||
border-radius: 50%; |
|||
display: inline-flex; |
|||
justify-content: center; |
|||
align-items: center; |
|||
margin: 0 5px; |
|||
height: 40px; |
|||
width: 40px; |
|||
html { |
|||
width: 100%; |
|||
height: 100%; |
|||
overflow: hidden; |
|||
} |
|||
|
|||
footer { |
|||
background-color: #222; |
|||
body { |
|||
width: 100%; |
|||
height: 100%; |
|||
font-family: "Open Sans", sans-serif; |
|||
background: #092756; |
|||
background: -moz-radial-gradient(0% 100%, ellipse cover, rgba(104, 128, 138, 0.4) 10%, rgba(138, 114, 76, 0) 40%), |
|||
-moz-linear-gradient(top, rgba(57, 173, 219, 0.25) 0%, rgba(42, 60, 87, 0.4) 100%), |
|||
-moz-linear-gradient(-45deg, #670d10 0%, #092756 100%); |
|||
background: -webkit-radial-gradient(0% 100%, ellipse cover, rgba(104, 128, 138, 0.4) 10%, rgba(138, 114, 76, 0) 40%), |
|||
-webkit-linear-gradient(top, rgba(57, 173, 219, 0.25) 0%, rgba(42, 60, 87, 0.4) 100%), |
|||
-webkit-linear-gradient(-45deg, #670d10 0%, #092756 100%); |
|||
background: -o-radial-gradient(0% 100%, ellipse cover, rgba(104, 128, 138, 0.4) 10%, rgba(138, 114, 76, 0) 40%), |
|||
-o-linear-gradient(top, rgba(57, 173, 219, 0.25) 0%, rgba(42, 60, 87, 0.4) 100%), |
|||
-o-linear-gradient(-45deg, #670d10 0%, #092756 100%); |
|||
background: -ms-radial-gradient(0% 100%, ellipse cover, rgba(104, 128, 138, 0.4) 10%, rgba(138, 114, 76, 0) 40%), |
|||
-ms-linear-gradient(top, rgba(57, 173, 219, 0.25) 0%, rgba(42, 60, 87, 0.4) 100%), |
|||
-ms-linear-gradient(-45deg, #670d10 0%, #092756 100%); |
|||
background: -webkit-radial-gradient(0% 100%, ellipse cover, rgba(104, 128, 138, 0.4) 10%, rgba(138, 114, 76, 0) 40%), |
|||
linear-gradient(to bottom, rgba(57, 173, 219, 0.25) 0%, rgba(42, 60, 87, 0.4) 100%), |
|||
linear-gradient(135deg, #670d10 0%, #092756 100%); |
|||
filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#3E1D6D', endColorstr='#092756',GradientType=1 ); |
|||
} |
|||
.login { |
|||
position: absolute; |
|||
top: 50%; |
|||
left: 50%; |
|||
margin: -150px 0 0 -150px; |
|||
width: 300px; |
|||
height: 300px; |
|||
} |
|||
.login h1 { |
|||
color: #fff; |
|||
font-size: 14px; |
|||
bottom: 0; |
|||
position: fixed; |
|||
left: 0; |
|||
right: 0; |
|||
text-shadow: 0 0 10px rgba(0, 0, 0, 0.3); |
|||
letter-spacing: 1px; |
|||
text-align: center; |
|||
z-index: 999; |
|||
} |
|||
|
|||
footer p { |
|||
margin: 10px 0; |
|||
} |
|||
|
|||
footer i { |
|||
color: red; |
|||
} |
|||
|
|||
footer a { |
|||
color: #3c97bf; |
|||
text-decoration: none; |
|||
input { |
|||
width: 100%; |
|||
margin-bottom: 10px; |
|||
background: rgba(0, 0, 0, 0.3); |
|||
border: none; |
|||
outline: none; |
|||
padding: 10px; |
|||
font-size: 13px; |
|||
color: #fff; |
|||
text-shadow: 1px 1px 1px rgba(0, 0, 0, 0.3); |
|||
border: 1px solid rgba(0, 0, 0, 0.3); |
|||
border-radius: 4px; |
|||
box-shadow: inset 0 -5px 45px rgba(100, 100, 100, 0.2), 0 1px 1px rgba(255, 255, 255, 0.2); |
|||
-webkit-transition: box-shadow 0.5s ease; |
|||
-moz-transition: box-shadow 0.5s ease; |
|||
-o-transition: box-shadow 0.5s ease; |
|||
-ms-transition: box-shadow 0.5s ease; |
|||
transition: box-shadow 0.5s ease; |
|||
} |
|||
input:focus { |
|||
box-shadow: inset 0 -5px 45px rgba(100, 100, 100, 0.4), 0 1px 1px rgba(255, 255, 255, 0.2); |
|||
} |
|||
|
@ -0,0 +1,56 @@ |
|||
extends /layout/layout |
|||
|
|||
block var |
|||
-title="登陆" // 网页标题 |
|||
-hideHeader=true |
|||
|
|||
block head |
|||
+css("css/page/login.css") |
|||
|
|||
block content |
|||
.container#container |
|||
.form-container.sign-up-container |
|||
form(action='/login/register' method='post') |
|||
h1 创建账户 |
|||
.social-container |
|||
a.social(href='#') |
|||
i.fab.fa-facebook-f |
|||
a.social(href='#') |
|||
i.fab.fa-google-plus-g |
|||
a.social(href='#') |
|||
i.fab.fa-linkedin-in |
|||
span 使用您的邮箱注册 |
|||
input(type='text', name="username", placeholder='请输入用户名') |
|||
input(type='email', name="email",placeholder='请输入邮箱') |
|||
input(type='password', name="password",placeholder='请输入密码') |
|||
include @/helper/form_security.pug |
|||
button 注册 |
|||
.form-container.sign-in-container |
|||
form(action='/login' method='post') |
|||
h1 登录 |
|||
.social-container |
|||
a.social(href='#') |
|||
i.fab.fa-facebook-f |
|||
a.social(href='#') |
|||
i.fab.fa-google-plus-g |
|||
a.social(href='#') |
|||
i.fab.fa-linkedin-in |
|||
span 填写您的账户 |
|||
input(type='text',name="username" , placeholder='请输入邮箱') |
|||
input(type='password',name="password" , placeholder='请输入密码') |
|||
include @/helper/form_security.pug |
|||
a(href='#') 忘记密码? |
|||
button 登录 |
|||
.overlay-container |
|||
.overlay |
|||
.overlay-panel.overlay-left |
|||
h1 欢迎回来! |
|||
p 填写您的账户,与我们保持亲密联系吧! |
|||
button.ghost#signIn 登录 |
|||
.overlay-panel.overlay-right |
|||
h1 你好朋友! |
|||
p 创建您的个人账户,随我们遨游于此吧! |
|||
button.ghost#signUp 注册 |
|||
|
|||
block script |
|||
+script("js/page/login.js") |
Loading…
Reference in new issue