You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 
eh-fastapi/static/style.css

217 lines
3.3 KiB

* {
margin: 0;
padding: 0;
box-sizing: border-box;
}
body {
font-family: 'Segoe UI', Tahoma, Geneva, Verdana, sans-serif;
background: linear-gradient(135deg, #667eea 0%, #764ba2 100%);
min-height: 100vh;
padding: 20px;
}
.container {
max-width: 800px;
margin: 0 auto;
background: white;
border-radius: 10px;
padding: 30px;
box-shadow: 0 10px 30px rgba(0, 0, 0, 0.2);
}
h1 {
text-align: center;
color: #333;
margin-bottom: 30px;
font-size: 2.5em;
}
.form-group {
margin-bottom: 20px;
}
label {
display: block;
margin-bottom: 5px;
font-weight: 600;
color: #555;
}
input[type="text"],
input[type="url"],
.proxy-select {
width: 100%;
padding: 12px;
border: 2px solid #ddd;
border-radius: 5px;
font-size: 16px;
transition: border-color 0.3s;
}
input[type="text"]:focus,
input[type="url"]:focus,
.proxy-select:focus {
outline: none;
border-color: #667eea;
}
/* URL列表文本框 */
.url-list {
width: 100%;
height: 120px;
padding: 12px;
border: 2px solid #ddd;
border-radius: 5px;
font-size: 12px;
font-family: 'Courier New', monospace;
background-color: #f8f9fa;
resize: vertical;
color: #555;
}
.url-list:focus {
outline: none;
border-color: #667eea;
}
.button-group {
display: flex;
gap: 10px;
margin-bottom: 30px;
flex-wrap: wrap;
}
.btn {
padding: 12px 24px;
border: none;
border-radius: 5px;
font-size: 16px;
cursor: pointer;
transition: all 0.3s;
font-weight: 600;
}
.btn-primary {
background: #667eea;
color: white;
}
.btn-primary:hover {
background: #5a6fd8;
transform: translateY(-2px);
}
.btn-secondary {
background: #764ba2;
color: white;
}
.btn-secondary:hover {
background: #6a4190;
transform: translateY(-2px);
}
.btn-danger {
background: #e74c3c;
color: white;
}
.btn-danger:hover {
background: #c0392b;
transform: translateY(-2px);
}
.btn-info {
background: #17a2b8;
color: white;
}
.btn-info:hover {
background: #138496;
transform: translateY(-2px);
}
.btn-warning {
background: #ffc107;
color: #212529;
}
.btn-warning:hover {
background: #e0a800;
transform: translateY(-2px);
}
.btn-success {
background: #28a745;
color: white;
}
.btn-success:hover {
background: #218838;
transform: translateY(-2px);
}
.output-section h3 {
color: #333;
margin-bottom: 10px;
}
.output-area {
background: #f8f9fa;
border: 1px solid #e9ecef;
border-radius: 5px;
padding: 15px;
min-height: 150px;
max-height: 400px;
overflow-y: auto;
font-family: 'Courier New', monospace;
white-space: pre-wrap;
word-wrap: break-word;
}
.output-area.success {
border-left: 4px solid #28a745;
}
.output-area.error {
border-left: 4px solid #dc3545;
}
.loading {
opacity: 0.7;
pointer-events: none;
}
@media (max-width: 600px) {
.container {
padding: 20px;
}
.button-group {
flex-direction: column;
}
.btn {
width: 100%;
}
}
.form-row {
display: flex;
gap: 15px;
}
.form-row .form-group {
flex: 1;
}
/* 下拉框样式 */
.proxy-select {
background-color: white;
cursor: pointer;
}
.proxy-select option {
padding: 8px;
}