/** * 这里是uni-app内置的常用样式变量 * * uni-app 官方扩展插件及插件市场(https://ext.dcloud.net.cn)上很多三方插件均使用了这些样式变量 * 如果你是插件开发者,建议你使用scss预处理,并在插件代码中直接使用这些变量(无需 import 这个文件),方便用户通过搭积木的方式开发整体风格一致的App * */ /** * 如果你是App开发者(插件使用者),你可以通过修改这些变量来定制自己的插件主题,实现自定义主题功能 * * 如果你的项目同样使用了scss预处理,你也可以直接在你的 scss 代码中使用如下变量,同时无需 import 这个文件 */ /* 颜色变量 */ /* 行为相关颜色 */ /* 藏青系主色(高亮) */ /* 文字基本颜色 */ /* 背景颜色 */ /* 边框颜色 */ /* 尺寸变量 */ /* 文字尺寸 */ /* 图片尺寸 */ /* Border Radius */ /* 水平间距 */ /* 垂直间距 */ /* 透明度 */ /* 文章场景相关 */ /* 表单控件尺寸(统一配置,避免页面内硬编码) */ .register-container { position: relative; min-height: 100vh; display: flex; align-items: center; justify-content: center; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 40rpx 20rpx; overflow: hidden; } .background-decoration { position: absolute; top: 0; left: 0; right: 0; bottom: 0; z-index: 0; } .background-decoration .circle { position: absolute; border-radius: 50%; background: rgba(255, 255, 255, 0.1); } .background-decoration .circle.circle-1 { width: 220rpx; height: 220rpx; top: 8%; left: 12%; animation: float 7s ease-in-out infinite; } .background-decoration .circle.circle-2 { width: 180rpx; height: 180rpx; top: 65%; right: 10%; animation: float 9s ease-in-out infinite reverse; } .background-decoration .circle.circle-3 { width: 120rpx; height: 120rpx; bottom: 15%; left: 25%; animation: float 6s ease-in-out infinite; } @keyframes float { 0%, 100% { transform: translateY(0px) rotate(0deg); } 50% { transform: translateY(-25px) rotate(5deg); } } .register-card { position: relative; z-index: 1; width: 90%; max-width: 680rpx; background: rgba(255, 255, 255, 0.95); -webkit-backdrop-filter: blur(20rpx); backdrop-filter: blur(20rpx); border-radius: 32rpx; padding: 50rpx 40rpx 45rpx; box-shadow: 0 25rpx 70rpx rgba(0, 0, 0, 0.12); border: 1rpx solid rgba(255, 255, 255, 0.3); } .header-section { text-align: center; margin-bottom: 45rpx; } .header-section .logo-container { display: flex; align-items: center; justify-content: center; gap: 16rpx; margin-bottom: 20rpx; } .header-section .logo-container .logo-icon { width: 60rpx; height: 60rpx; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); border-radius: 16rpx; display: flex; align-items: center; justify-content: center; } .header-section .logo-container .logo-icon .icon { width: 36rpx; height: 36rpx; fill: white; } .header-section .logo-container .app-name { font-size: 36rpx; font-weight: 700; color: #2d3748; letter-spacing: 1rpx; } .header-section .welcome-text { display: block; font-size: 48rpx; font-weight: 700; color: #2d3748; margin-bottom: 8rpx; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; } .header-section .subtitle { display: block; font-size: 28rpx; color: #718096; font-weight: 400; } .form-section { margin-bottom: 40rpx; } .form-section .input-group { margin-bottom: 24rpx; } .form-section .input-group .input-container { position: relative; background: #f7fafc; border: 2rpx solid #e2e8f0; border-radius: 16rpx; display: flex; align-items: center; transition: all 0.3s ease; } .form-section .input-group .input-container.focused { border-color: #667eea; background: #ffffff; box-shadow: 0 0 0 6rpx rgba(102, 126, 234, 0.1); transform: translateY(-2rpx); } .form-section .input-group .input-container.filled { background: #ffffff; border-color: #cbd5e0; } .form-section .input-group .input-container .input-icon { display: flex; align-items: center; justify-content: center; width: 50rpx; margin-left: 20rpx; } .form-section .input-group .input-container .input-icon .icon { width: 32rpx; height: 32rpx; fill: #a0aec0; transition: fill 0.3s ease; } .form-section .input-group .input-container.focused .input-icon .icon { fill: #667eea; } .form-section .input-group .input-container .input-field { flex: 1; background: transparent; border: none; padding: 24rpx 20rpx 24rpx 12rpx; font-size: 32rpx; color: #2d3748; } .form-section .input-group .input-container .input-field::-webkit-input-placeholder { color: #a0aec0; font-size: 28rpx; } .form-section .input-group .input-container .input-field::placeholder { color: #a0aec0; font-size: 28rpx; } .actions-section { margin-bottom: 30rpx; } .actions-section .register-button { width: 100%; height: 96rpx; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); border: none; border-radius: 16rpx; margin-bottom: 20rpx; display: flex; align-items: center; justify-content: center; box-shadow: 0 8rpx 24rpx rgba(102, 126, 234, 0.3); transition: all 0.3s ease; position: relative; overflow: hidden; } .actions-section .register-button:active { transform: translateY(2rpx); box-shadow: 0 4rpx 16rpx rgba(102, 126, 234, 0.3); } .actions-section .register-button::before { content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0; background: linear-gradient(135deg, rgba(255, 255, 255, 0.2) 0%, transparent 50%); opacity: 0; transition: opacity 0.3s ease; } .actions-section .register-button:active::before { opacity: 1; } .actions-section .register-button .button-text { font-size: 32rpx; font-weight: 600; color: white; letter-spacing: 1rpx; } .actions-section .login-button { width: 100%; height: 86rpx; background: transparent; border: 2rpx solid #e2e8f0; border-radius: 16rpx; display: flex; align-items: center; justify-content: center; transition: all 0.3s ease; } .actions-section .login-button:active { background: #f7fafc; border-color: #cbd5e0; transform: translateY(1rpx); } .actions-section .login-button .button-text { font-size: 28rpx; font-weight: 500; color: #718096; } .footer-section { text-align: center; } .footer-section .hint-text { display: block; font-size: 24rpx; color: #a0aec0; line-height: 1.6; margin-bottom: 12rpx; } .footer-section .static-hint { display: block; font-size: 22rpx; color: #a0aec0; line-height: 1.5; background: rgba(160, 174, 192, 0.1); padding: 12rpx 16rpx; border-radius: 10rpx; border: 1rpx solid rgba(160, 174, 192, 0.2); } @media (max-width: 750rpx) { .register-card { margin: 20rpx; padding: 40rpx 30rpx 35rpx; } .header-section .welcome-text { font-size: 42rpx; } .form-section .input-group { margin-bottom: 20rpx; } }