a3eb5c7b2d
从百度网盘 /apps/bypy/dofile/ 下载的完整项目结构,包含: - dofile/: Flask 后端(端口 5000)+ 静态前端(端口 6002) - officefile/: 项目相关文档 - .gitignore: Python venv / 日志 / 缓存 Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
197 lines
3.1 KiB
CSS
197 lines
3.1 KiB
CSS
/* Common Styles for DAEL Lab Website */
|
|
|
|
body {
|
|
font-family: 'Inter', 'Noto Sans SC', sans-serif;
|
|
background-color: #ffffff;
|
|
color: #1a1a1a;
|
|
overflow-x: hidden;
|
|
}
|
|
|
|
/* Custom Scrollbar */
|
|
::-webkit-scrollbar {
|
|
width: 8px;
|
|
}
|
|
|
|
::-webkit-scrollbar-track {
|
|
background: #f1f1f1;
|
|
}
|
|
|
|
::-webkit-scrollbar-thumb {
|
|
background: #c1c1c1;
|
|
border-radius: 4px;
|
|
}
|
|
|
|
::-webkit-scrollbar-thumb:hover {
|
|
background: #a8a8a8;
|
|
}
|
|
|
|
/* Navigation Link Animation */
|
|
.nav-link {
|
|
position: relative;
|
|
}
|
|
|
|
.nav-link::after {
|
|
content: '';
|
|
position: absolute;
|
|
width: 0;
|
|
height: 1px;
|
|
bottom: -2px;
|
|
left: 0;
|
|
background-color: #000;
|
|
transition: width 0.3s ease;
|
|
}
|
|
|
|
.nav-link:hover::after {
|
|
width: 100%;
|
|
}
|
|
|
|
/* Fade In Up Animation */
|
|
.fade-in-up {
|
|
animation: fadeInUp 0.8s ease-out forwards;
|
|
opacity: 0;
|
|
transform: translateY(20px);
|
|
}
|
|
|
|
@keyframes fadeInUp {
|
|
to {
|
|
opacity: 1;
|
|
transform: translateY(0);
|
|
}
|
|
}
|
|
|
|
.delay-100 { animation-delay: 0.1s; }
|
|
.delay-200 { animation-delay: 0.2s; }
|
|
.delay-300 { animation-delay: 0.3s; }
|
|
.delay-400 { animation-delay: 0.4s; }
|
|
|
|
/* Canvas container */
|
|
#canvas-container {
|
|
position: absolute;
|
|
top: 0;
|
|
left: 0;
|
|
width: 100%;
|
|
height: 100%;
|
|
z-index: -1;
|
|
opacity: 0.6;
|
|
pointer-events: none;
|
|
}
|
|
|
|
/* News Card Styles */
|
|
.news-card {
|
|
transition: transform 0.3s ease, box-shadow 0.3s ease;
|
|
}
|
|
|
|
.news-card:hover {
|
|
transform: translateY(-4px);
|
|
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
|
|
}
|
|
|
|
/* Search Box */
|
|
.search-box {
|
|
position: relative;
|
|
}
|
|
|
|
.search-results {
|
|
position: absolute;
|
|
top: 100%;
|
|
left: 0;
|
|
right: 0;
|
|
background: white;
|
|
border: 1px solid #e5e7eb;
|
|
border-radius: 8px;
|
|
box-shadow: 0 10px 25px rgba(0, 0, 0, 0.1);
|
|
max-height: 400px;
|
|
overflow-y: auto;
|
|
z-index: 100;
|
|
display: none;
|
|
}
|
|
|
|
.search-results.active {
|
|
display: block;
|
|
}
|
|
|
|
.search-result-item {
|
|
padding: 12px 16px;
|
|
border-bottom: 1px solid #f3f4f6;
|
|
cursor: pointer;
|
|
transition: background-color 0.2s;
|
|
}
|
|
|
|
.search-result-item:hover {
|
|
background-color: #f9fafb;
|
|
}
|
|
|
|
.search-result-item:last-child {
|
|
border-bottom: none;
|
|
}
|
|
|
|
/* Login Form */
|
|
.login-form {
|
|
max-width: 400px;
|
|
margin: 0 auto;
|
|
}
|
|
|
|
.form-input {
|
|
width: 100%;
|
|
padding: 12px 16px;
|
|
border: 1px solid #e5e7eb;
|
|
border-radius: 4px;
|
|
font-size: 14px;
|
|
transition: border-color 0.3s;
|
|
}
|
|
|
|
.form-input:focus {
|
|
outline: none;
|
|
border-color: #000;
|
|
}
|
|
|
|
/* Protected Content */
|
|
.protected-content {
|
|
opacity: 0.5;
|
|
pointer-events: none;
|
|
position: relative;
|
|
}
|
|
|
|
.protected-content::after {
|
|
content: '登录后查看';
|
|
position: absolute;
|
|
top: 50%;
|
|
left: 50%;
|
|
transform: translate(-50%, -50%);
|
|
background: rgba(0, 0, 0, 0.8);
|
|
color: white;
|
|
padding: 8px 16px;
|
|
border-radius: 4px;
|
|
font-size: 12px;
|
|
white-space: nowrap;
|
|
}
|
|
|
|
/* Page Transition */
|
|
.page-transition {
|
|
animation: fadeIn 0.3s ease-in;
|
|
}
|
|
|
|
@keyframes fadeIn {
|
|
from {
|
|
opacity: 0;
|
|
}
|
|
to {
|
|
opacity: 1;
|
|
}
|
|
}
|
|
|
|
/* Stats Counter */
|
|
.stats-counter {
|
|
font-variant-numeric: tabular-nums;
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|