plumes
Version:
Flying-fast Metro future vision components
465 lines (400 loc) • 9.69 kB
text/less
@import "../../common/less/common-mixins.less";
@import "../../common/less/common-variables.less";
@-webkit-keyframes pl-bottom-border-show { 0% { width: 0; } 100% { width: 100%; } }
@-moz-keyframes pl-bottom-border-show { 0% { width: 0; } 100% { width: 100%; } }
@-ms-keyframes pl-bottom-border-show { 0% { width: 0; } 100% { width: 100%; } }
@-o-keyframes pl-bottom-border-show { 0% { width: 0; } 100% { width: 100%; } }
@keyframes pl-bottom-border-show { 0% { width: 0; } 100% { width: 100%; } }
@-webkit-keyframes pl-avatar-show-again { 0% { left: -14rem; } 100% { left: 0; } }
@-moz-keyframes pl-avatar-show-again { 0% { left: -14rem; } 100% { left: 0; } }
@-ms-keyframes pl-avatar-show-again { 0% { left: -14rem; } 100% { left: 0; } }
@-o-keyframes pl-avatar-show-again { 0% { left: -14rem; } 100% { left: 0; } }
@keyframes pl-avatar-show-again { 0% { left: -14rem; } 100% { left: 0; } }
.pl-login {
z-index: 1100;
.pl-login-container {
overflow: hidden;
z-index: 1001;
position: fixed;
left: 2rem;
right: 2rem;
}
.bottom-border-container {
position: absolute;
left: 0;
right: 0;
bottom: 0;
height: 1px;
.bottom-border {
display: none;
max-width: 70rem;
width: 100%;
height: 1px;
margin: 0 auto;
.animation(pl-bottom-border-show 0.65s @easeOutQuart);
}
}
.pl-login-content {
position: relative;
height: 100%;
margin: 0 auto;
overflow: hidden;
.pl-login-form {
opacity: 0;
position: absolute;
left: 50%;
width: 0;
margin-left: 0;
top: 50%;
height: 0;
margin-top: 0;
overflow: hidden;
.pl-login-form-content {
position: absolute;
left: 0;
bottom: 0;
width: 100%;
height: 100%;
overflow: hidden;
}
.pl-login-form-message {
position: absolute;
left: 0;
bottom: -14rem;
width: 100%;
height: 100%;
color: white;
line-height: 14rem;
p {
font-size: 2rem;
line-height: 4rem;
vertical-align: middle;
display: inline-block;
line-height: normal;
text-align: center;
width: 100%;
}
}
.old-avatar {
display: none;
position: absolute;
top: 0;
left: 0;
width: 14rem;
height: 14rem;
background: url('avatar.png') no-repeat;
background-size: 100%;
&.show {
display: block;
}
}
.avatar {
position: absolute;
top: 50%;
left: 50%;
height: 14rem;
width: 14rem;
margin: -7rem 0 0 -7rem;
background: url('avatar.png') no-repeat;
background-size: 100%;
&.show-again {
.animation(pl-avatar-show-again 0.65s @easeOutQuart);
}
}
.input {
position: relative;
left: 0;
background: none;
color: white;
margin: 0 0 0 15rem;
border: none;
font-size: 2rem;
line-height: 4rem;
height: 7rem;
width: 25rem;
.transition(all 0.35s @easeOutQuart);
&:-webkit-autofill {
-webkit-box-shadow: 0 0 0px 1000px @accentColor inset;
-webkit-text-fill-color: white ;
}
&::-webkit-input-placeholder {
color: white;
opacity: 0.5;
}
&:-moz-placeholder {
color: white;
opacity: 0.5;
}
&::-moz-placeholder {
color: white;
opacity: 0.5;
}
&:-ms-input-placeholder {
color: white;
opacity: 0.5;
}
&.name {
border-bottom: 1px solid rgba(255, 255, 255, 0.3);
}
&.code {
position: absolute;
top: 0;
left: auto;
right: -26rem;
.transition(all 0.7s 0.35s @easeOutQuart);
&.show {
right: 0;
}
}
&.hide {
left: -26rem;
}
}
.mask-password {
position: absolute;
height: 7rem;
background: white;
bottom: -1px;
width: 0;
right: 0;
.transition(all 0.35s @easeOutQuart);
&.show {
width: 26rem;
}
}
.submit {
display: none;
}
}
.pl-login-links {
.noselect();
cursor: pointer;
position: absolute;
opacity: 0;
right: 50%;
top: 50%;
width: 20rem;
margin-right: -20rem;
margin-top: 1rem;
font-size: 1.6rem;
text-align: right;
height: 2rem;
line-height: 2rem;
overflow: hidden;
.transition(all 0.35s @easeOutQuart);
.pl-login-forgot-link {
top: 2rem;
}
.pl-login-login-link {
top: -2rem;
}
div {
position: absolute;
right: 0;
.transition(all 0.35s @easeOutQuart);
&.show {
top: 0;
}
}
}
.pl-login-forgot-texts {
position: absolute;
left: 50%;
bottom: 50%;
width: 40rem;
height: 5.6rem;
margin-left: -20rem;
margin-bottom: 9rem;
font-size: 1.8rem;
overflow: hidden;
.transition(all 0.35s @easeOutQuart);
.pl-login-forgot-text {
top: 5.6rem;
}
.pl-login-forgot-code-text, .pl-login-forgot-password-text {
top: -5.6rem;
}
p {
position: absolute;
left: 0;
right: 0;
height: 5.6rem;
margin: 0;
.transition(all 0.35s @easeOutQuart);
&.show {
top: 0;
}
}
.key {
position: relative;
top: -2px;
background: #fff;
font-weight: 700;
padding: 2px .65rem;
font-size: 1.2rem;
margin: 0 2px;
border-radius: .25rem;
color: #3d3c40;
border-bottom: 2px solid #9e9ea6;
box-shadow: 0 1px 2px rgba(0, 0, 0, 0.5);
text-shadow: none;
}
}
.help-button {
.noselect();
cursor: pointer;
position: absolute;
bottom: 50%;
left: 50%;
border: none;
background: none;
padding: 0;
font-size: 2.4rem;
font-weight: 300;
margin: 0 0 1.4rem 0;
line-height: 2.4rem;
opacity: 0;
.transition(all 0.35s @easeOutQuart);
&.show {
margin-left: 22rem;
opacity: 1;
}
}
}
.help-container {
position: absolute;
width: 27rem;
opacity: 0;
right: -27rem;
.transition(all 0.35s @easeOutQuart);
ol {
margin-top: 1.5rem;
}
}
&.help {
.help-container {
opacity: 0.7;
right: 0;
}
}
&.help .pl-login-content, &.help.sb-show-4 .pl-login-content {
.pl-login-forgot-texts, .pl-login-links, .pl-login-form {
margin-left: -40rem;
}
.help-button, .help-button.show {
margin-left: 0;
opacity: 0;
}
}
&.sb-show-1, &.sb-show-2, &.sb-show-3, &.sb-show-4, &.sb-hide-1 {
.bottom-border-container .bottom-border {
display: block;
}
}
&.sb-show-2 {
.pl-login-container {
.transition(all 1s @easeOutQuart);
}
.pl-login-content .pl-login-form {
opacity: 1;
width: 14rem;
height: 14rem;
margin-left: -7rem;
margin-top: -7rem;
.transition(all 0.45s @easeOutQuart);
}
}
&.sb-show-3, &.sb-show-4 {
.pl-login-content .pl-login-form {
opacity: 1;
width: 40rem;
height: 14rem;
margin-left: -20rem;
margin-top: -7rem;
.transition(all 0.45s @easeOutQuart);
.avatar {
left: 0;
top: 0;
margin: 0;
}
}
}
&.sb-show-4 {
.pl-login-content .pl-login-links {
opacity: 1;
margin-top: 8rem;
.transition(all 0.45s @easeOutQuart);
}
}
&.sb-hide-1, &.sb-hide-2 {
.pl-login-container {
.transition(all 0.55s @easeOutQuart);
}
.pl-login-content .pl-login-form {
opacity: 1;
width: 40rem;
height: 14rem;
margin-left: -20rem;
margin-top: -7rem;
.transition(all 0.55s @easeOutQuart);
.avatar {
left: 0;
top: 0;
margin: 0;
}
}
.bottom-border-container {
opacity: 0;
.transition(all 0.55s @easeOutQuart);
}
}
&.sb-hide-2 {
.pl-login-content .pl-login-form {
width: 14rem;
height: 14rem;
margin-left: -7rem;
margin-top: -7rem;
.transition(all 0.45s @easeOutQuart);
}
}
&.sb-hide-3 {
.pl-login-content .pl-login-form {
opacity: 1;
width: 0;
height: 0;
margin-left: 0;
margin-top: 0;
.transition(all 0.15s linear);
}
}
&.sb-message-1 {
.pl-login-content .pl-login-form .pl-login-form-content {
bottom: 14rem;
.transition(all 0.35s @easeOutQuart);
}
}
&.sb-message-2 {
.pl-login-content .pl-login-form .pl-login-form-content {
bottom: -14rem;
}
.pl-login-content .pl-login-form .pl-login-form-message {
bottom: 0;
.transition(all 0.35s @easeOutQuart);
}
}
&.sb-message-3 {
.pl-login-content .pl-login-form .pl-login-form-content {
bottom: -14rem;
}
.pl-login-content .pl-login-form .pl-login-form-message {
bottom: 14rem;
.transition(all 0.35s @easeOutQuart);
}
}
&.sb-message-4 {
.pl-login-content .pl-login-form .pl-login-form-content {
bottom: 0;
.transition(all 0.35s @easeOutQuart);
}
}
}