323 lines
8.2 KiB
CSS
323 lines
8.2 KiB
CSS
/* 在研项目页专属样式 */
|
||
/* 头部Banner */
|
||
.research-banner {
|
||
height: 200px;
|
||
position: relative;
|
||
overflow: hidden;
|
||
margin-bottom: 40px;
|
||
background: linear-gradient(rgba(0,0,0,0.6), rgba(0,0,0,0.6)), url(images/research-banner.jpg) center/cover no-repeat;
|
||
transition: background 0.3s ease;
|
||
}
|
||
body.night-mode .research-banner {
|
||
background: linear-gradient(rgba(0,0,0,0.8), rgba(0,0,0,0.8)), url(images/research-banner-night.jpg) center/cover no-repeat;
|
||
}
|
||
.research-banner-text {
|
||
position: absolute;
|
||
top: 50%;
|
||
left: 50%;
|
||
transform: translate(-50%, -50%);
|
||
text-align: center;
|
||
color: #fff;
|
||
z-index: 10;
|
||
}
|
||
.research-banner-text h1 {
|
||
font-size: 28px;
|
||
margin-bottom: 8px;
|
||
letter-spacing: 1px;
|
||
}
|
||
.research-banner-text p {
|
||
font-size: 16px;
|
||
opacity: 0.9;
|
||
}
|
||
|
||
/* 项目卡片容器 */
|
||
.research-container {
|
||
background: #fff;
|
||
border-radius: 8px;
|
||
box-shadow: 0 2px 12px rgba(22,93,255,0.08);
|
||
padding: 24px;
|
||
margin-bottom: 60px;
|
||
/* 新增:容器内添加内边距,避免卡片贴边 */
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 24px; /* 核心:卡片之间的间距(替代margin,更优雅) */
|
||
}
|
||
body.night-mode .research-container {
|
||
background-color: #2C3036;
|
||
box-shadow: 0 2px 12px rgba(0,0,0,0.3);
|
||
}
|
||
|
||
/* 项目信息网格 */
|
||
.research-grid {
|
||
display: grid;
|
||
grid-template-columns: 2fr 1fr; /* 卡片内部左右分栏保持不变 */
|
||
gap: 24px; /* 卡片内部子元素间距 */
|
||
padding: 20px; /* 卡片内边距,增强视觉包裹感 */
|
||
background-color: #f9fafb; /* 卡片背景色,区分容器和卡片 */
|
||
border-radius: 6px; /* 卡片圆角,更美观 */
|
||
}
|
||
|
||
.research-left, .research-right {
|
||
display: flex;
|
||
flex-direction: column;
|
||
gap: 16px;
|
||
}
|
||
.research-item {
|
||
font-size: 14px;
|
||
line-height: 1.8;
|
||
}
|
||
.research-item strong {
|
||
color: #000;
|
||
font-weight: 600;
|
||
}
|
||
|
||
.research-item span {
|
||
color: #4E5969;
|
||
margin-top: 4px;
|
||
}
|
||
body.night-mode .research-item strong {
|
||
color: #fff;
|
||
}
|
||
.research-item p {
|
||
color: #4E5969;
|
||
margin-top: 4px;
|
||
}
|
||
body.night-mode .research-item p {
|
||
color: #E5E6EB;
|
||
}
|
||
|
||
/* 进度条模块 */
|
||
.progress-group {
|
||
margin-top: 16px;
|
||
}
|
||
|
||
.progress-fill{
|
||
transition: all 1s ease;
|
||
}
|
||
|
||
.progress-label {
|
||
display: flex;
|
||
justify-content: space-between;
|
||
margin-bottom: 8px;
|
||
font-size: 14px;
|
||
color: #4E5969;
|
||
}
|
||
body.night-mode .progress-label {
|
||
color: #E5E6EB;
|
||
}
|
||
.progress-bar {
|
||
width: 100%;
|
||
height: 12px;
|
||
background-color: #F2F3F5;
|
||
border-radius: 6px;
|
||
overflow: hidden;
|
||
}
|
||
body.night-mode .progress-bar {
|
||
background-color: #373B41;
|
||
}
|
||
.progress-fill {
|
||
height: 100%;
|
||
background-color: #D32F2F;
|
||
border-radius: 6px;
|
||
}
|
||
.progress-btn {
|
||
margin-top: 8px;
|
||
padding: 4px 12px;
|
||
background-color: #FFD700;
|
||
/* background-color: #355ff9; */
|
||
color: #000;
|
||
border: none;
|
||
border-radius: 4px;
|
||
font-size: 12px;
|
||
cursor: pointer;
|
||
font-weight: 600;
|
||
}
|
||
|
||
/* 新增:更新时间模块样式 */
|
||
.update-time {
|
||
/* margin-left: 370px; */
|
||
margin-top: 16px;
|
||
padding-top: 12px;
|
||
border-top: 1px solid #E5E6EB; /* 分隔线,区分进度条和更新时间 */
|
||
}
|
||
body.night-mode .update-time {
|
||
border-top-color: #4E5969; /* 夜间模式分隔线颜色 */
|
||
}
|
||
.update-time strong {
|
||
color: #6E7681; /* 弱化标题颜色,突出内容 */
|
||
font-weight: 500;
|
||
}
|
||
.update-time span {
|
||
color: #165DFF; /* 强调更新时间,用主题色 */
|
||
font-size: 13px; /* 略小字号,不抢焦点 */
|
||
}
|
||
body.night-mode .update-time span {
|
||
color: #60A5FA; /* 夜间模式主题色 */
|
||
}
|
||
|
||
/* 项目切换指示器 */
|
||
.research-switch {
|
||
display: flex;
|
||
gap: 8px; /* 缩小间距适配数字页码 */
|
||
justify-content: center;
|
||
margin-top: 40px;
|
||
margin-bottom: 20px;
|
||
align-items: center;
|
||
}
|
||
|
||
/* 1. 页码数字 - 改为数字样式(核心修改) */
|
||
.research-switch .page-num {
|
||
display: inline-flex; /* 改为flex实现文字居中 */
|
||
align-items: center;
|
||
justify-content: center;
|
||
width: 32px; /* 调整宽度适配数字 */
|
||
height: 32px; /* 调整高度适配数字 */
|
||
border-radius: 4px; /* 改为圆角矩形,更适配数字 */
|
||
background-color: #F2F3F5; /* 浅背景色 */
|
||
color: #4E5969; /* 数字颜色 */
|
||
font-size: 14px; /* 数字字号 */
|
||
font-weight: 500;
|
||
cursor: pointer;
|
||
transition: all 0.3s ease;
|
||
text-indent: 0; /* 恢复文字显示(移除原隐藏) */
|
||
overflow: visible; /* 恢复文字显示 */
|
||
}
|
||
.research-switch .page-num.active {
|
||
background-color: #165DFF; /* 激活态背景 */
|
||
color: #FFFFFF; /* 激活态文字白色 */
|
||
transform: scale(1.05); /* 轻微放大,替代原圆点的scale */
|
||
box-shadow: 0 0 8px rgba(22, 93, 255, 0.4);
|
||
}
|
||
.research-switch .page-num:hover:not(.active) {
|
||
background-color: #E5E6EB; /* 悬停态背景 */
|
||
color: #165DFF; /* 悬停态文字颜色 */
|
||
transform: scale(1.05);
|
||
}
|
||
|
||
/* 2. 上一页/下一页*/
|
||
.research-switch .page-prev,
|
||
.research-switch .page-next {
|
||
display: inline-flex;
|
||
align-items: center;
|
||
justify-content: center;
|
||
width: 32px; /* 同步调整上下页按钮尺寸,和数字页码一致 */
|
||
height: 32px;
|
||
border-radius: 4px; /* 改为圆角矩形,统一风格 */
|
||
background-color: #F2F3F5;
|
||
color: #4E5969;
|
||
font-size: 14px;
|
||
text-decoration: none;
|
||
cursor: pointer;
|
||
transition: all 0.3s ease;
|
||
}
|
||
/* 上下页悬停态 */
|
||
.research-switch .page-prev:hover:not(.disabled),
|
||
.research-switch .page-next:hover:not(.disabled) {
|
||
background-color: #165DFF;
|
||
color: #FFFFFF;
|
||
}
|
||
/* 上下页禁用态*/
|
||
.research-switch .page-prev.disabled,
|
||
.research-switch .page-next.disabled {
|
||
opacity: 0.5;
|
||
cursor: not-allowed;
|
||
background-color: #F2F3F5;
|
||
color: #C0C4CC; /* 箭头字符变浅 */
|
||
}
|
||
|
||
/* 3. 省略号样式 */
|
||
.research-switch .page-ellipsis {
|
||
color: #4E5969;
|
||
font-size: 14px;
|
||
line-height: 32px; /* 对齐数字页码高度 */
|
||
}
|
||
|
||
/* 夜间模式适配 */
|
||
body.night-mode .research-switch .page-num {
|
||
background-color: #373B41;
|
||
color: #E5E6EB;
|
||
}
|
||
body.night-mode .research-switch .page-num.active {
|
||
background-color: #4080FF;
|
||
color: #FFFFFF;
|
||
box-shadow: 0 0 8px rgba(64, 128, 255, 0.5);
|
||
}
|
||
body.night-mode .research-switch .page-num:hover:not(.active) {
|
||
background-color: #4E5969;
|
||
color: #FFFFFF;
|
||
}
|
||
|
||
body.night-mode .research-switch .page-prev,
|
||
body.night-mode .research-switch .page-next {
|
||
background-color: #373B41;
|
||
color: #E5E6EB;
|
||
}
|
||
body.night-mode .research-switch .page-prev:hover:not(.disabled),
|
||
body.night-mode .research-switch .page-next:hover:not(.disabled) {
|
||
background-color: #4080FF;
|
||
color: #FFFFFF;
|
||
}
|
||
body.night-mode .research-switch .page-prev.disabled,
|
||
body.night-mode .research-switch .page-next.disabled {
|
||
background-color: #373B41;
|
||
color: #4E5969;
|
||
}
|
||
|
||
body.night-mode .research-switch .page-ellipsis {
|
||
color: #E5E6EB;
|
||
}
|
||
|
||
/* 移动端适配 */
|
||
@media (max-width: 768px) {
|
||
.research-banner {
|
||
height: 150px;
|
||
}
|
||
.research-banner-text h1 {
|
||
font-size: 22px;
|
||
}
|
||
.research-grid {
|
||
grid-template-columns: 1fr; /* 补充:移动端卡片内部改为单列 */
|
||
gap: 16px;
|
||
padding: 16px;
|
||
margin: 0; /* 移除原margin,改用容器gap */
|
||
padding-bottom: 0;
|
||
}
|
||
.research-container {
|
||
gap: 16px; /* 移动端卡片间距缩小 */
|
||
padding: 16px;
|
||
}
|
||
.research-switch {
|
||
gap: 6px; /* 移动端数字页码间距更小 */
|
||
margin-top: 30px;
|
||
}
|
||
/* 移动端数字页码缩小 */
|
||
.research-switch .page-num {
|
||
width: 28px;
|
||
height: 28px;
|
||
font-size: 12px;
|
||
}
|
||
.research-switch .page-num.active {
|
||
transform: scale(1.05);
|
||
}
|
||
/* 移动端上下页按钮缩小 */
|
||
.research-switch .page-prev,
|
||
.research-switch .page-next {
|
||
width: 28px;
|
||
height: 28px;
|
||
font-size: 12px;
|
||
}
|
||
/* 移动端省略号对齐 */
|
||
.research-switch .page-ellipsis {
|
||
line-height: 28px;
|
||
font-size: 12px;
|
||
}
|
||
/* 移动端更新时间适配 */
|
||
.update-time {
|
||
/* margin-left: 490px; */
|
||
margin-top: 12px;
|
||
padding-top: 10px;
|
||
}
|
||
.update-time span {
|
||
font-size: 12px;
|
||
}
|
||
} |