diff --git a/src/assets/images/login-background.jpg b/src/assets/images/login-background.jpg index 8f38b37..22b69f5 100644 Binary files a/src/assets/images/login-background.jpg and b/src/assets/images/login-background.jpg differ diff --git a/src/views/login.vue b/src/views/login.vue index ebef79e..400d62e 100644 --- a/src/views/login.vue +++ b/src/views/login.vue @@ -1,62 +1,68 @@ @@ -165,12 +171,12 @@ export default { display: flex; justify-content: center; align-items: center; - height: 100%; + height: 100vh; background: #fff; background-image: url("../assets/images/login-background.jpg"); background-repeat: no-repeat; - background-position: left center; - background-size: contain; + background-position: center center; + // background-size: contain; position: relative; &::before { @@ -180,73 +186,74 @@ export default { left: 0; right: 0; bottom: 0; - // background: linear-gradient(135deg, rgba(0, 110, 107, 0.1) 0%, rgba(0, 110, 107, 0.05) 100%); z-index: 0; } } -.title { - margin: 0px auto 20px auto; - font-weight: bold; - text-align: left; - color: #060F2E; - font-size: 28px; - text-shadow: 0 2px 4px rgba(0,0,0,0.1); - position: relative; +.login-container { + width: 100%; + max-width: 480px; + padding: 0 20px; z-index: 1; } -.login-form { - border-radius: 12px; - background: #ffffff; - backdrop-filter: blur(10px); - width: 600px; - padding: 40px 30px 30px 30px; - z-index: 1; - margin-left: 58%; - box-shadow: 0 15px 35px rgba(0, 0, 0, 0.15); - border: 1px solid rgba(0, 110, 107, 0.1); - position: relative; +.login-header { + text-align: center; + margin-bottom: 40px; - &::before { - content: ''; - position: absolute; - top: 0; - left: 0; - right: 0; - height: 4px; - background: linear-gradient(90deg, #0A57E7 0%, #1E6BFF 100%); - border-radius: 12px 12px 0 0; + .main-title { + font-size: 32px; + font-weight: 700; + color: #060F2E; + margin-bottom: 12px; + letter-spacing: 1px; } + .sub-title { + font-size: 18px; + color: #666; + font-weight: 500; + margin: 0; + } +} + +.login-form { + border-radius: 16px; + background: #ffffff; + width: 100%; + padding: 40px 35px; + box-shadow: 0 10px 40px rgba(0, 0, 0, 0.08); + border: 1px solid rgba(0, 0, 0, 0.05); + .el-input { - height: 42px; + height: 48px; margin: 8px 0; position: relative; .el-input__inner { - height: 42px; + height: 48px; border-radius: 8px; - border: 2px solid #d8e2ff; /* 柔和蓝色描边 */ - padding-left: 40px; - font-size: 14px; + border: 1px solid #e1e5e9; + padding-left: 45px; + font-size: 15px; transition: all 0.3s ease; - background: #ffffff; + background: #f9fafb; &:focus { border-color: #1E6BFF; - box-shadow: 0 0 0 3px rgba(30, 107, 255, 0.15); + box-shadow: 0 0 0 3px rgba(30, 107, 255, 0.1); background: #ffffff; } &:hover { - border-color: #0A57E7; + border-color: #c0c4cc; + background: #ffffff; } } .el-input__prefix { position: absolute; - left: 12px; + left: 15px; top: 50%; transform: translateY(-50%); z-index: 1; @@ -254,8 +261,8 @@ export default { } .input-icon { - height: 16px; - width: 16px; + height: 18px; + width: 18px; margin-left: 0; color: #999; transition: color 0.3s ease; @@ -266,12 +273,10 @@ export default { } .el-form-item { - margin-bottom: 20px; + margin-bottom: 24px; } .el-checkbox { - margin-bottom: 20px; - .el-checkbox__label { color: #666; font-size: 14px; @@ -284,7 +289,7 @@ export default { } .el-button { - height: 42px; + height: 48px; border-radius: 8px; font-size: 16px; font-weight: 600; @@ -303,8 +308,15 @@ export default { box-shadow: 0 2px 6px rgba(30, 107, 255, 0.25); } } +} + +.form-options { + display: flex; + justify-content: space-between; + align-items: center; + margin-bottom: 25px; - .link-type { + .forgot-password { color: #1E6BFF; text-decoration: none; font-size: 14px; @@ -317,15 +329,9 @@ export default { } } -.login-tip { - font-size: 13px; - text-align: center; - color: #bfbfbf; -} - .code-wrapper { display: flex; - gap: 10px; + gap: 12px; align-items: center; .el-input { @@ -335,10 +341,10 @@ export default { .login-code { width: 120px; - height: 42px; + height: 48px; border-radius: 8px; overflow: hidden; - border: 2px solid #e1e5e9; + border: 1px solid #e1e5e9; cursor: pointer; transition: all 0.3s ease; flex-shrink: 0; @@ -357,62 +363,53 @@ export default { } } -.el-login-footer { - height: 60px; - line-height: 60px; - position: fixed; - bottom: 0; - width: 100%; - text-align: center; - color: rgba(255, 255, 255, 0.9); - font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Hiragino Sans GB', 'Microsoft YaHei', 'Helvetica Neue', Helvetica, Arial, sans-serif; - font-size: 14px; - font-weight: 400; - letter-spacing: 0.5px; - background: rgba(0, 110, 107, 0.1); - backdrop-filter: blur(10px); - z-index: 1; - border-top: 1px solid rgba(255, 255, 255, 0.1); -} - .login-code-img { - height: 42px; + height: 48px; } // 响应式优化 -@media (max-width: 1200px) { - .login-form { - margin-left: 50%; - width: 500px; - } -} - @media (max-width: 768px) { .login { - background-position: center; + padding: 20px; + } + + .login-container { + padding: 0; } .login-form { - margin-left: 0; - width: 90%; - max-width: 400px; - padding: 30px 20px; + padding: 30px 25px; } - .title { - font-size: 24px; - text-align: center; + .login-header { + .main-title { + font-size: 28px; + } + + .sub-title { + font-size: 16px; + } } } @media (max-width: 480px) { .login-form { - width: 95%; - padding: 25px 15px; + padding: 25px 20px; } - .title { - font-size: 20px; + .login-header { + .main-title { + font-size: 24px; + } + + .sub-title { + font-size: 15px; + } } } - + +.logo{ + width: 56px; + height: 65px; +} + \ No newline at end of file