|
@@ -3,7 +3,7 @@
|
|
|
<div class="register-container">
|
|
|
<div class="register-content">
|
|
|
<div class="register-header">
|
|
|
- <h2>用户注册</h2>
|
|
|
+ <h2 style="margin-top: 0;">用户注册</h2>
|
|
|
<p class="sub-title">请填写以下信息完成注册</p>
|
|
|
</div>
|
|
|
|
|
@@ -252,21 +252,32 @@ export default defineComponent({
|
|
|
justify-content: center;
|
|
|
align-items: center;
|
|
|
min-height: 100vh;
|
|
|
- background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
|
|
|
+ padding: 24px 16px;
|
|
|
+ background: radial-gradient(1200px 600px at 10% 10%, rgba(255, 255, 255, 0.12), transparent 60%),
|
|
|
+ radial-gradient(1200px 600px at 90% 90%, rgba(255, 255, 255, 0.08), transparent 60%),
|
|
|
+ linear-gradient(135deg, #6a8cff 0%, #8a6cf0 45%, #7a5fd6 100%);
|
|
|
|
|
|
.register-container {
|
|
|
width: 100%;
|
|
|
max-width: 420px;
|
|
|
- margin: 0 20px;
|
|
|
+ margin: 0 auto;
|
|
|
}
|
|
|
|
|
|
.register-content {
|
|
|
- background: rgba(255, 255, 255, 0.95);
|
|
|
+ position: relative;
|
|
|
+ background: rgba(255, 255, 255, 0.96);
|
|
|
padding: 40px;
|
|
|
- border-radius: 16px;
|
|
|
- box-shadow: 0 8px 32px rgba(31, 38, 135, 0.15);
|
|
|
- backdrop-filter: blur(8px);
|
|
|
- animation: slideUp 0.6s ease-out;
|
|
|
+ border-radius: 18px;
|
|
|
+ box-shadow: 0 12px 40px rgba(31, 38, 135, 0.2);
|
|
|
+ backdrop-filter: blur(10px);
|
|
|
+ border: 1px solid rgba(255, 255, 255, 0.6);
|
|
|
+ animation: slideUp 0.55s ease-out;
|
|
|
+ transition: box-shadow 0.25s ease, transform 0.25s ease;
|
|
|
+
|
|
|
+ &:hover {
|
|
|
+ box-shadow: 0 16px 48px rgba(31, 38, 135, 0.24);
|
|
|
+ transform: translateY(-1px);
|
|
|
+ }
|
|
|
}
|
|
|
|
|
|
.register-header {
|
|
@@ -276,13 +287,15 @@ export default defineComponent({
|
|
|
h2 {
|
|
|
font-size: 28px;
|
|
|
color: #1a1a1a;
|
|
|
- margin-bottom: 8px;
|
|
|
- font-weight: 600;
|
|
|
+ margin-bottom: 10px;
|
|
|
+ font-weight: 700;
|
|
|
+ letter-spacing: 0.3px;
|
|
|
}
|
|
|
|
|
|
.sub-title {
|
|
|
- color: #666;
|
|
|
+ color: #70757d;
|
|
|
font-size: 14px;
|
|
|
+ line-height: 1.6;
|
|
|
}
|
|
|
}
|
|
|
|
|
@@ -295,11 +308,12 @@ export default defineComponent({
|
|
|
font-size: 14px;
|
|
|
|
|
|
.login-link {
|
|
|
- color: #667eea;
|
|
|
+ color: #5e7bff;
|
|
|
font-weight: 500;
|
|
|
|
|
|
&:hover {
|
|
|
- color: #764ba2;
|
|
|
+ color: #7a5fd6;
|
|
|
+ text-decoration: underline;
|
|
|
}
|
|
|
}
|
|
|
}
|
|
@@ -321,10 +335,105 @@ export default defineComponent({
|
|
|
@media (max-width: 480px) {
|
|
|
.register-content {
|
|
|
padding: 24px;
|
|
|
+ border-radius: 14px;
|
|
|
}
|
|
|
|
|
|
.register-header h2 {
|
|
|
font-size: 24px;
|
|
|
}
|
|
|
}
|
|
|
+
|
|
|
+// Ant Design 表单细节优化(scoped 下使用 :deep)
|
|
|
+:deep(.ant-form) {
|
|
|
+ .ant-form-item {
|
|
|
+ margin-bottom: 18px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .ant-form-item-label > label {
|
|
|
+ color: #30343b;
|
|
|
+ font-weight: 600;
|
|
|
+ letter-spacing: 0.2px;
|
|
|
+ }
|
|
|
+
|
|
|
+ .ant-form-item-control-input-content {
|
|
|
+ line-height: 1;
|
|
|
+ }
|
|
|
+
|
|
|
+ .ant-form-item-explain-error {
|
|
|
+ margin-top: 6px;
|
|
|
+ font-size: 12px;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// 输入框视觉与可用性
|
|
|
+:deep(.ant-input-affix-wrapper),
|
|
|
+:deep(.ant-input-password .ant-input) {
|
|
|
+ background: #fafbff;
|
|
|
+}
|
|
|
+
|
|
|
+:deep(.ant-input),
|
|
|
+:deep(.ant-input-password .ant-input) {
|
|
|
+ padding: 8px 12px;
|
|
|
+}
|
|
|
+
|
|
|
+:deep(.ant-input-affix-wrapper) {
|
|
|
+ border-radius: 10px;
|
|
|
+ border-color: #e6e8f0;
|
|
|
+ transition: box-shadow 0.2s ease, border-color 0.2s ease, background-color 0.2s ease;
|
|
|
+
|
|
|
+ &:hover {
|
|
|
+ border-color: #b8c1ff;
|
|
|
+ background: #f7f8ff;
|
|
|
+ }
|
|
|
+
|
|
|
+ &.ant-input-affix-wrapper-focused,
|
|
|
+ &:focus-within {
|
|
|
+ border-color: #6a8cff;
|
|
|
+ box-shadow: 0 0 0 3px rgba(106, 140, 255, 0.18);
|
|
|
+ background: #fff;
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// 占位符颜色微调
|
|
|
+:deep(.ant-input::placeholder) {
|
|
|
+ color: #9aa0a6;
|
|
|
+}
|
|
|
+
|
|
|
+// 密码框前缀图标颜色统一
|
|
|
+:deep(.ant-input-prefix) {
|
|
|
+ color: rgba(0, 0, 0, 0.35);
|
|
|
+}
|
|
|
+
|
|
|
+// 主按钮强化
|
|
|
+:deep(.ant-btn.ant-btn-primary) {
|
|
|
+ height: 44px;
|
|
|
+ border-radius: 10px;
|
|
|
+ font-weight: 600;
|
|
|
+ letter-spacing: 0.2px;
|
|
|
+ box-shadow: 0 8px 18px rgba(106, 140, 255, 0.35);
|
|
|
+ background-image: linear-gradient(135deg, #6a8cff, #7a5fd6);
|
|
|
+ border: none;
|
|
|
+ transition: transform 0.15s ease, box-shadow 0.2s ease, filter 0.2s ease;
|
|
|
+
|
|
|
+ &:hover {
|
|
|
+ filter: brightness(1.02);
|
|
|
+ transform: translateY(-1px);
|
|
|
+ box-shadow: 0 10px 22px rgba(106, 140, 255, 0.42);
|
|
|
+ }
|
|
|
+
|
|
|
+ &:active {
|
|
|
+ transform: translateY(0);
|
|
|
+ box-shadow: 0 6px 12px rgba(106, 140, 255, 0.3);
|
|
|
+ }
|
|
|
+}
|
|
|
+
|
|
|
+// 轻微分隔感
|
|
|
+.register-content::after {
|
|
|
+ content: '';
|
|
|
+ position: absolute;
|
|
|
+ inset: 0;
|
|
|
+ pointer-events: none;
|
|
|
+ border-radius: inherit;
|
|
|
+ box-shadow: inset 0 0 0 1px rgba(100, 115, 255, 0.06);
|
|
|
+}
|
|
|
</style>
|