Files
OFD/WebContent/static/css/login.css

191 lines
3.8 KiB
CSS
Raw Normal View History

2026-03-18 10:19:33 +08:00
* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Microsoft YaHei', sans-serif;
background: url('../img/login-bg.jpg') no-repeat center center;
background-size: cover;
height: 100vh;
display: flex;
justify-content: center;
align-items: center;
overflow: hidden;
position: relative;
}
body::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: rgba(255, 255, 255, 0.1);
backdrop-filter: blur(3px);
}
.login-container {
background: rgba(255, 255, 255, 0.9);
padding: 40px;
border-radius: 15px;
box-shadow: 0 8px 32px rgba(0, 0, 0, 0.1);
width: 400px;
position: relative;
z-index: 1;
overflow: hidden;
backdrop-filter: blur(10px);
border: 1px solid rgba(255, 255, 255, 0.3);
}
.login-container::before {
content: '';
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
background: linear-gradient(45deg, rgba(255,255,255,0.1), rgba(255,255,255,0));
z-index: -1;
}
.login-title {
text-align: center;
color: #2c3e50;
margin-bottom: 30px;
font-size: 28px;
font-weight: 600;
position: relative;
letter-spacing: 1px;
}
.login-title::after {
content: '';
position: absolute;
bottom: -10px;
left: 50%;
transform: translateX(-50%);
width: 100px;
height: 3px;
background: linear-gradient(90deg, #3498db, #2ecc71);
}
.form-group {
margin-bottom: 25px;
position: relative;
}
.form-group label {
display: block;
margin-bottom: 8px;
color: #2c3e50;
font-size: 14px;
font-weight: 500;
}
.form-group input {
width: 100%;
padding: 12px 15px;
background: rgba(255, 255, 255, 0.8);
border: 1px solid #e0e0e0;
border-radius: 8px;
font-size: 16px;
color: #2c3e50;
transition: all 0.3s ease;
font-family: 'Microsoft YaHei', sans-serif;
}
.form-group input:focus {
outline: none;
border-color: #3498db;
box-shadow: 0 0 10px rgba(52, 152, 219, 0.2);
background: #fff;
}
.form-group input::placeholder {
color: #95a5a6;
font-family: 'Microsoft YaHei', sans-serif;
}
.remember-me {
display: flex;
align-items: center;
margin-bottom: 20px;
color: #2c3e50;
font-size: 14px;
cursor: pointer;
}
.remember-me input[type="checkbox"] {
appearance: none;
-webkit-appearance: none;
width: 18px;
height: 18px;
border: 1px solid #e0e0e0;
border-radius: 4px;
margin-right: 10px;
position: relative;
cursor: pointer;
background: #fff;
}
.remember-me input[type="checkbox"]:checked {
background: #3498db;
border-color: #3498db;
}
.remember-me input[type="checkbox"]:checked::after {
content: '✓';
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
color: #fff;
font-size: 12px;
}
.login-btn {
width: 100%;
padding: 14px;
background: linear-gradient(45deg, #3498db, #2ecc71);
color: #fff;
border: none;
border-radius: 8px;
font-size: 16px;
font-weight: 500;
cursor: pointer;
transition: all 0.3s ease;
font-family: 'Microsoft YaHei', sans-serif;
position: relative;
overflow: hidden;
}
.login-btn:hover {
transform: translateY(-2px);
box-shadow: 0 5px 15px rgba(46, 204, 113, 0.3);
}
.login-btn::before {
content: '';
position: absolute;
top: 0;
left: -100%;
width: 100%;
height: 100%;
background: linear-gradient(90deg, transparent, rgba(255, 255, 255, 0.2), transparent);
transition: 0.5s;
}
.login-btn:hover::before {
left: 100%;
}
.error-message {
color: #e74c3c;
font-size: 14px;
margin-top: 5px;
display: none;
font-family: 'Microsoft YaHei', sans-serif;
}