Files
pxdj/pxdj-merch-uni/src/pages/login/login.scss
2025-10-24 17:12:18 +08:00

458 lines
7.9 KiB
SCSS

.container {
padding: 40rpx;
min-height: 100vh;
background: linear-gradient(to bottom, #f8f8f8, #ffffff);
display: flex;
flex-direction: column;
align-items: center;
.login-title {
font-size: 42rpx;
font-weight: bold;
color: #07c160;
margin: 60rpx 0 40rpx;
text-align: center;
letter-spacing: 2rpx;
}
.input-group {
width: 100%;
margin-bottom: 40rpx;
input {
width: 100%;
height: 90rpx;
background: #f8f8f8;
border-radius: 45rpx;
margin-bottom: 30rpx;
padding: 0 40rpx;
box-sizing: border-box;
font-size: 28rpx;
box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.05);
transition: all 0.3s ease;
&:focus {
box-shadow: 0 6rpx 16rpx rgba(7, 193, 96, 0.15);
transform: translateY(-2rpx);
}
}
}
.btn-group {
width: 100%;
margin-top: 60rpx;
.login-btn {
width: 100%;
height: 90rpx;
line-height: 90rpx;
background: linear-gradient(135deg, #07c160, #05a350);
border-radius: 45rpx;
color: #fff;
font-size: 32rpx;
text-align: center;
border: none;
box-shadow: 0 8rpx 20rpx rgba(7, 193, 96, 0.3);
transition: all 0.3s ease;
&:active {
opacity: 0.8;
transform: translateY(2rpx);
box-shadow: 0 4rpx 10rpx rgba(7, 193, 96, 0.2);
}
}
.switch-type {
text-align: center;
font-size: 28rpx;
color: #07c160;
margin-top: 30rpx;
position: relative;
display: inline-block;
left: 50%;
transform: translateX(-50%);
padding-bottom: 4rpx;
&::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 2rpx;
background-color: #07c160;
transform: scaleX(0);
transition: transform 0.3s ease;
}
&:active::after {
transform: scaleX(1);
}
}
}
.wx-login-container {
width: 100%;
display: flex;
flex-direction: column;
align-items: center;
padding: 40rpx 0;
.auth-info {
text-align: center;
margin-bottom: 60rpx;
.wx-logo {
width: 240rpx;
height: 240rpx;
margin: 60rpx auto;
display: block;
border-radius: 50%;
box-shadow: 0 10rpx 30rpx rgba(0, 0, 0, 0.1);
}
.auth-text {
font-size: 34rpx;
color: #333;
margin-bottom: 20rpx;
font-weight: 500;
}
.auth-desc {
font-size: 28rpx;
color: #999;
line-height: 1.5;
}
}
.user-info {
display: flex;
flex-direction: column;
align-items: center;
margin-bottom: 60rpx;
.avatar {
width: 150rpx;
height: 150rpx;
border-radius: 50%;
margin-bottom: 30rpx;
box-shadow: 0 8rpx 24rpx rgba(0, 0, 0, 0.15);
border: 4rpx solid #fff;
}
}
.auth-btn,
.wx-login-btn {
width: 600rpx;
height: 90rpx;
line-height: 90rpx;
border-radius: 45rpx;
font-size: 32rpx;
text-align: center;
border: none;
background: linear-gradient(135deg, #07c160, #05a350);
color: #fff;
box-shadow: 0 8rpx 20rpx rgba(7, 193, 96, 0.3);
transition: all 0.3s ease;
&:active {
opacity: 0.8;
transform: translateY(2rpx);
box-shadow: 0 4rpx 10rpx rgba(7, 193, 96, 0.2);
}
}
}
.invite-input {
width: 100%;
margin-top: 30rpx;
input {
width: 100%;
height: 90rpx;
background: #f8f8f8;
border-radius: 45rpx;
padding: 0 40rpx;
box-sizing: border-box;
font-size: 28rpx;
box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.05);
}
}
button::after {
border: none;
}
}
// 全局样式
page {
background: linear-gradient(to bottom, #f8f8f8, #ffffff);
}
// 其他样式
.c-logo {
display: block;
width: 180rpx;
height: 180rpx;
margin: 20rpx auto 60rpx;
border-radius: 50%;
box-shadow: 0 10rpx 30rpx rgba(0, 0, 0, 0.1);
}
.title {
font-size: 38rpx;
color: #333;
text-align: center;
margin-bottom: 100rpx;
font-weight: 600;
}
.wx-login-box {
margin-top: 80rpx;
}
.wx-login-btn {
.wx-icon {
width: 48rpx;
height: 48rpx;
margin-right: 16rpx;
margin-top: -4rpx;
}
text {
color: #fff;
font-size: 32rpx;
font-weight: 500;
display: inline-block;
vertical-align: middle;
}
}
.login-tips {
font-size: 26rpx;
color: #999;
text-align: center;
margin-top: 30rpx;
}
.invite-box {
margin-top: 60rpx;
padding: 0 30rpx;
}
.input-label {
font-size: 28rpx;
color: #333;
margin-right: 30rpx;
font-weight: 500;
}
.invite-tip {
font-size: 24rpx;
color: #999;
margin-top: 16rpx;
padding-left: 30rpx;
}
image {
display: block;
width: 150rpx;
height: 150rpx;
margin: auto;
margin-top: 100rpx;
border-radius: 50%;
box-shadow: 0 8rpx 24rpx rgba(0, 0, 0, 0.15);
}
.msg {
font-size: 26rpx;
color: #666;
width: 100%;
text-align: center;
margin-top: 20rpx;
}
.title {
font-size: 32rpx;
color: #333;
width: 100%;
text-align: center;
margin: 30rpx 0;
font-weight: 600;
}
button {
margin: 0;
padding: 0;
line-height: 1;
background: none;
border: none;
transition: all 0.3s ease;
}
.button-hover {
background-color: #fff;
color: #07c160;
}
.con {
padding-top: 120rpx;
}
.logo {
display: flex;
justify-content: center;
height: 160rpx;
margin-bottom: 10%;
image {
display: block;
width: 100%;
height: 100%;
}
}
.login-form {
width: 90%;
margin: 0 auto;
margin-bottom: 10%;
}
.authorized-btn {
width: 100%;
margin: 0 auto;
text-align: center;
background: linear-gradient(135deg, #07c160, #05a350);
border: none;
color: #fff;
border-radius: 45rpx;
font-size: 30rpx;
margin-top: 60rpx;
height: 90rpx;
line-height: 90rpx;
box-shadow: 0 8rpx 20rpx rgba(7, 193, 96, 0.3);
transition: all 0.3s ease;
&:active {
opacity: 0.8;
transform: translateY(2rpx);
box-shadow: 0 4rpx 10rpx rgba(7, 193, 96, 0.2);
}
}
.to-idx-btn {
width: 100%;
margin: 0 auto;
text-align: center;
background-color: #f5f5f5;
border: none;
color: #666;
border-radius: 45rpx;
font-size: 30rpx;
margin-top: 30rpx;
height: 90rpx;
line-height: 90rpx;
box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.05);
transition: all 0.3s ease;
&:active {
opacity: 0.8;
background-color: #eeeeee;
}
}
.form-title {
width: 100%;
margin-bottom: 60rpx;
font-size: 36rpx;
text-align: center;
color: #07c160;
font-weight: 600;
}
.item {
display: block;
margin-bottom: 30rpx;
}
.account {
display: flex;
background: #f8f8f8;
padding: 15rpx 20rpx;
box-sizing: border-box;
font-size: 28rpx;
align-items: center;
border-radius: 45rpx;
box-shadow: 0 4rpx 12rpx rgba(0, 0, 0, 0.05);
input {
padding-left: 20rpx;
width: 75%;
height: 70rpx;
}
.inp-palcehoder {
font-size: 28rpx;
}
.int-yzm {
width: 410rpx;
padding-right: 10rpx;
box-sizing: border-box;
}
}
.input-btn {
width: 152rpx;
font-size: 26rpx;
color: #07c160;
text-align: center;
font-weight: 500;
background: rgba(7, 193, 96, 0.1);
padding: 12rpx 0;
border-radius: 30rpx;
}
.operate {
display: flex;
justify-content: space-between;
align-items: center;
margin-top: 30rpx;
.forgot-password,
.to-register {
font-size: 28rpx;
color: #07c160;
position: relative;
padding-bottom: 4rpx;
&::after {
content: '';
position: absolute;
bottom: 0;
left: 0;
width: 100%;
height: 2rpx;
background-color: #07c160;
transform: scaleX(0);
transition: transform 0.3s ease;
}
&:active::after {
transform: scaleX(1);
}
}
}
.invite-tip {
font-size: 24rpx;
color: #999;
padding: 10rpx 0 0 180rpx;
}
.input-item {
width: 160rpx;
text-align: right;
margin-right: 20rpx;
}