.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; }