nex_docus/frontend/src/pages/Login/Login.css

270 lines
4.1 KiB
CSS

.login-page {
display: flex;
min-height: 100vh;
background: #fff;
}
/* 左侧介绍区域 */
.login-left {
flex: 1;
background: linear-gradient(135deg, #e6f0ff 0%, #f0f5ff 100%);
display: flex;
align-items: center;
justify-content: center;
padding: 60px;
position: relative;
}
.login-left-content {
max-width: 560px;
width: 100%;
display: flex;
flex-direction: column;
height: 100%;
justify-content: space-between;
}
/* Logo */
.logo-section {
display: flex;
align-items: center;
gap: 12px;
margin-bottom: 80px;
}
.logo-icon {
width: 48px;
height: 48px;
background: #1890ff;
border-radius: 12px;
display: flex;
align-items: center;
justify-content: center;
color: white;
}
.logo-text {
font-size: 24px;
font-weight: 600;
color: #1890ff;
}
/* 介绍内容 */
.intro-section {
flex: 1;
}
.intro-title {
font-size: 48px;
font-weight: 700;
line-height: 1.3;
color: #1f1f1f;
margin-bottom: 24px;
}
.intro-title .highlight {
color: #1890ff;
}
.intro-desc {
font-size: 16px;
line-height: 1.8;
color: #666;
margin: 0;
}
/* 底部信息 */
.footer-info {
margin-top: auto;
}
.footer-links {
display: flex;
gap: 24px;
margin-bottom: 16px;
}
.footer-links span {
font-size: 14px;
color: #666;
display: flex;
align-items: center;
gap: 6px;
}
.footer-links span::before {
content: '';
width: 6px;
height: 6px;
background: #1890ff;
border-radius: 50%;
}
.copyright {
font-size: 12px;
color: #999;
margin: 0;
}
/* 右侧登录区域 */
.login-right {
flex: 0 0 520px;
display: flex;
align-items: center;
justify-content: center;
padding: 40px;
background: white;
}
.login-form-container {
width: 100%;
max-width: 400px;
}
.login-form-container .ant-tabs-nav {
margin-bottom: 32px;
}
.login-form-container .ant-tabs-tab {
font-size: 16px;
font-weight: 500;
padding: 12px 16px;
}
.form-wrapper {
padding-top: 8px;
}
.form-subtitle {
font-size: 14px;
color: #8c8c8c;
margin-bottom: 32px;
text-align: left;
}
/* 表单样式 */
.login-form-container .ant-form-item-label > label {
font-weight: 500;
color: #262626;
}
.login-form-container .ant-input-affix-wrapper,
.login-form-container .ant-input {
border-radius: 8px;
padding: 12px 16px;
background: #fafafa;
border: 1px solid var(--border-color);
transition: all 0.3s;
}
.login-form-container .ant-input-affix-wrapper:hover,
.login-form-container .ant-input:hover {
background: #fff;
border-color: var(--border-color-strong);
}
.login-form-container .ant-input-affix-wrapper-focused,
.login-form-container .ant-input-affix-wrapper:focus,
.login-form-container .ant-input:focus {
background: #fff;
border-color: #1890ff;
box-shadow: 0 0 0 2px rgba(24, 144, 255, 0.1);
}
.login-form-container .ant-btn-primary {
height: 48px;
border-radius: 8px;
font-size: 16px;
font-weight: 500;
box-shadow: 0 2px 8px rgba(24, 144, 255, 0.3);
transition: all 0.3s;
}
.login-form-container .ant-btn-primary:hover {
transform: translateY(-2px);
box-shadow: 0 4px 12px rgba(24, 144, 255, 0.4);
}
/* 测试账号信息 */
.test-account-info {
margin-top: 24px;
padding: 16px;
background: #f0f5ff;
border-radius: 8px;
border-left: 4px solid #1890ff;
text-align: center;
}
.test-account-info p {
margin: 0;
font-size: 13px;
color: #595959;
}
.test-account-info strong {
color: #1890ff;
font-weight: 600;
}
/* 响应式设计 */
@media (max-width: 1200px) {
.login-left {
padding: 40px;
}
.intro-title {
font-size: 40px;
}
.login-right {
flex: 0 0 480px;
}
}
@media (max-width: 992px) {
.login-page {
flex-direction: column;
}
.login-left {
flex: none;
min-height: 40vh;
padding: 40px 24px;
}
.login-left-content {
max-width: 100%;
}
.logo-section {
margin-bottom: 40px;
}
.intro-title {
font-size: 32px;
}
.footer-info {
display: none;
}
.login-right {
flex: 1;
padding: 40px 24px;
}
}
@media (max-width: 576px) {
.login-right {
padding: 24px 16px;
}
.login-form-container {
max-width: 100%;
}
.intro-title {
font-size: 28px;
}
}