|
|
/* pages/real-name-auth/real-name-auth.wxss *//* 基础样式 */.auth-container { min-height: 100vh; background: linear-gradient(135deg, #f5f7fa 0%, #c3cfe2 100%); position: relative; overflow: hidden; padding: 40rpx 0 100rpx; } /* 顶部装饰 */ .top-decoration { position: absolute; top: 0; left: 0; right: 0; height: 300rpx; overflow: hidden; z-index: 0; } .decoration-circle { position: absolute; border-radius: 50%; background: linear-gradient(135deg, rgba(255, 255, 255, 0.3) 0%, rgba(255, 255, 255, 0.1) 100%); } .circle-1 { width: 400rpx; height: 400rpx; top: -200rpx; right: -100rpx; } .circle-2 { width: 300rpx; height: 300rpx; top: -150rpx; left: -100rpx; } .circle-3 { width: 200rpx; height: 200rpx; top: 100rpx; left: 50%; margin-left: -100rpx; } /* 头部 */ .header { text-align: center; padding: 40rpx 0 60rpx; position: relative; z-index: 1; } .logo { width: 120rpx; height: 120rpx; margin: 0 auto 24rpx; } .brand-name { font-size: 48rpx; font-weight: bold; color: #2c3e50; margin-bottom: 16rpx; letter-spacing: 4rpx; } .page-title { font-size: 36rpx; color: #2c3e50; font-weight: 600; margin-bottom: 12rpx; } .page-subtitle { font-size: 28rpx; color: #7f8c8d; } /* 表单卡片 */ .form-card { background: white; border-radius: 32rpx; padding: 48rpx 40rpx; margin: 0 40rpx 30rpx; box-shadow: 0 10rpx 40rpx rgba(0, 0, 0, 0.08); position: relative; z-index: 1; animation: slideUp 0.6s ease-out; } .card-header { margin-bottom: 40rpx; } .card-title { display: flex; align-items: center; font-size: 32rpx; font-weight: 600; color: #2c3e50; margin-bottom: 12rpx; } .title-icon { width: 36rpx; height: 36rpx; margin-right: 16rpx; } .card-hint { font-size: 26rpx; color: #95a5a6; } /* 输入组 */ .input-group { margin-bottom: 48rpx; } .input-label { display: flex; align-items: center; margin-bottom: 20rpx; font-size: 28rpx; color: #2c3e50; font-weight: 500; } .label-icon { width: 32rpx; height: 32rpx; margin-right: 16rpx; } .input-wrapper, .code-input-container { position: relative; } .name-input, .phone-input, .code-input { width: 100%; height: 88rpx; font-size: 28rpx; color: #2c3e50; padding: 0 24rpx; background: #f8f9fa; border-radius: 16rpx; transition: all 0.3s ease; } .placeholder { color: #bdc3c7; font-size: 28rpx; } .input-border { position: absolute; top: 0; left: 0; right: 0; bottom: 0; border: 2rpx solid transparent; border-radius: 16rpx; pointer-events: none; } .input-focus-border { position: absolute; top: -2rpx; left: -2rpx; right: -2rpx; bottom: -2rpx; border: 4rpx solid transparent; border-radius: 18rpx; opacity: 0; transition: all 0.3s ease; pointer-events: none; } .input-focus-border.active { opacity: 1; border-color: rgba(52, 152, 219, 0.3); } .input-hint { font-size: 24rpx; color: #95a5a6; margin-top: 12rpx; min-height: 36rpx; transition: all 0.3s ease; } .input-hint.error { color: #e74c3c; } /* 验证码区域 */ .code-input-wrapper { display: flex; align-items: center; gap: 20rpx; } .code-input-container { flex: 1; } .send-code-btn { min-width: 200rpx; height: 88rpx; background: linear-gradient(135deg, #3498db 0%, #2980b9 100%); border-radius: 16rpx; font-size: 26rpx; color: white; padding: 0; margin: 0; display: flex; align-items: center; justify-content: center; transition: all 0.3s ease; box-shadow: 0 4rpx 20rpx rgba(52, 152, 219, 0.3); } .send-code-btn::after { border: none; } .btn-content { display: flex; align-items: center; justify-content: center; } .sms-icon { width: 24rpx; height: 24rpx; margin-right: 8rpx; } .send-code-btn.disabled { background: #bdc3c7; box-shadow: none; opacity: 0.6; } .send-code-btn.counting { background: #95a5a6; } .btn-hover { opacity: 0.9; transform: translateY(-2rpx); } /* 协议 */ .agreement-card { background: white; border-radius: 24rpx; padding: 32rpx 40rpx; margin: 0 40rpx 40rpx; box-shadow: 0 8rpx 32rpx rgba(0, 0, 0, 0.06); } .agreement-item { display: flex; align-items: flex-start; } .checkbox { width: 36rpx; height: 36rpx; border: 2rpx solid #bdc3c7; border-radius: 8rpx; margin-right: 20rpx; display: flex; align-items: center; justify-content: center; flex-shrink: 0; transition: all 0.3s ease; } .checkbox.checked { background: linear-gradient(135deg, #2ecc71 0%, #27ae60 100%); border-color: transparent; } .check-icon { width: 20rpx; height: 20rpx; } .agreement-text { font-size: 26rpx; color: #2c3e50; line-height: 1.4; flex: 1; } .link { color: #3498db; text-decoration: none; } /* 提交按钮 */ .submit-section { padding: 0 40rpx; position: relative; z-index: 1; } .submit-btn { width: 100%; height: 100rpx; background: linear-gradient(135deg, #2ecc71 0%, #27ae60 100%); border-radius: 50rpx; font-size: 32rpx; color: white; font-weight: 600; padding: 0; margin: 0; transition: all 0.3s ease; box-shadow: 0 10rpx 40rpx rgba(46, 204, 113, 0.4); } .submit-btn::after { border: none; } .submit-btn.disabled { background: #bdc3c7; box-shadow: none; opacity: 0.7; } .btn-inner { display: flex; align-items: center; justify-content: center; height: 100%; } .arrow-icon { width: 32rpx; height: 32rpx; margin-left: 12rpx; opacity: 0.9; } .submit-btn-hover { opacity: 0.9; transform: translateY(-2rpx); } .submit-hint { text-align: center; font-size: 26rpx; color: #7f8c8d; margin-top: 24rpx; } /* 底部装饰 */ .bottom-decoration { text-align: center; margin-top: 60rpx; position: relative; z-index: 1; animation: fadeInUp 0.8s ease-out 0.3s both; } .sheep-illustration { width: 200rpx; height: 150rpx; margin-bottom: 20rpx; opacity: 0.8; } .decoration-text { font-size: 28rpx; color: #7f8c8d; } .highlight { color: #3498db; font-weight: 600; } /* 成功弹窗 */ .success-modal { position: fixed; top: 0; left: 0; right: 0; bottom: 0; z-index: 1000; opacity: 0; visibility: hidden; transition: all 0.3s ease; } .success-modal.show { opacity: 1; visibility: visible; } .modal-mask { position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.5); backdrop-filter: blur(10rpx); } .modal-content { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%) scale(0.9); width: 600rpx; background: white; border-radius: 32rpx; padding: 60rpx 40rpx; text-align: center; opacity: 0; transition: all 0.3s ease; } .success-modal.show .modal-content { opacity: 1; transform: translate(-50%, -50%) scale(1); } .modal-icon { width: 120rpx; height: 120rpx; background: linear-gradient(135deg, #2ecc71 0%, #27ae60 100%); border-radius: 50%; display: flex; align-items: center; justify-content: center; margin: 0 auto 32rpx; } .success-icon { width: 60rpx; height: 60rpx; } .modal-title { font-size: 40rpx; font-weight: bold; color: #2c3e50; margin-bottom: 20rpx; } .modal-message { font-size: 32rpx; color: #2c3e50; margin-bottom: 16rpx; } .brand-highlight { color: #3498db; font-weight: 600; } .modal-subtitle { font-size: 26rpx; color: #7f8c8d; margin-bottom: 40rpx; line-height: 1.5; } .modal-btn { background: linear-gradient(135deg, #3498db 0%, #2980b9 100%); border-radius: 50rpx; height: 88rpx; font-size: 30rpx; color: white; font-weight: 600; padding: 0 60rpx; margin: 0; display: flex; align-items: center; justify-content: center; gap: 12rpx; } .modal-btn::after { border: none; } .home-icon { width: 32rpx; height: 32rpx; } /* 动画 */ @keyframes slideUp { from { opacity: 0; transform: translateY(50rpx); } to { opacity: 1; transform: translateY(0); } } @keyframes fadeInUp { from { opacity: 0; transform: translateY(30rpx); } to { opacity: 1; transform: translateY(0); } } /* 响应式 */ @media (max-width: 480px) { .form-card, .agreement-card, .submit-section { margin-left: 30rpx; margin-right: 30rpx; } .code-input-wrapper { flex-direction: column; gap: 20rpx; } .send-code-btn { min-width: 100%; } }
|