/* 加入我们页专属样式 */
/* 头部Banner - 适配HTML中的img标签,修复层叠/渐变覆盖 */
.join-banner {
height: 200px;
position: relative;
overflow: hidden;
margin-bottom: 20px; /* 优化:减少banner底部留白(原40px) */
transition: all 0.3s ease;
}
/* Banner背景图 - 底层图片等比缩放 */
.join-banner .banner-img {
width: 100%;
height: 100%;
object-fit: cover;
position: absolute;
top: 0;
left: 0;
z-index: 1;
}
/* Banner渐变遮罩 - 中层半透明黑,覆盖图片 */
.join-banner::before {
content: "";
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: linear-gradient(rgba(0,0,0,0.6), rgba(0,0,0,0.6));
z-index: 2; /* 渐变在图片上层 */
transition: background 0.3s ease;
}
/* 夜间模式 - 加深渐变遮罩 */
body.night-mode .join-banner::before {
background: linear-gradient(rgba(0,0,0,0.8), rgba(0,0,0,0.8));
}
/* Banner文字 - 顶层,保证不被遮挡 */
.join-banner-text {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
text-align: center;
color: #fff;
z-index: 10; /* 文字在最上层 */
}
.join-banner-text h1 {
font-size: 28px;
margin-bottom: 4px; /* 优化:减少标题和副标题间距(原8px) */
letter-spacing: 1px;
line-height: 1.2; /* 新增:紧凑行高 */
}
.join-banner-text p {
font-size: 16px;
opacity: 0.9;
margin: 0; /* 优化:清除默认外边距 */
line-height: 1.2; /* 新增:紧凑行高 */
}
/* 内容卡片容器 - 3列网格布局,保留原有间距 */
.join-container {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 16px; /* 优化:减少卡片之间的间距(原24px) */
margin-bottom: 30px; /* 优化:减少容器底部留白(原60px) */
}
/* 通用卡片样式 - 保留原有阴影/hover/夜间模式 */
.join-card {
background: #fff;
border-radius: 8px;
box-shadow: 0 2px 12px rgba(22,93,255,0.08);
padding: 16px; /* 优化:减少卡片内边距(原20px) */
transition: all 0.3s ease;
height: 100%; /* 卡片高度自适应,保持三列等高 */
display: flex;
flex-direction: column; /* 子元素垂直排列,适配内部布局 */
}
body.night-mode .join-card {
background-color: #2C3036;
box-shadow: 0 2px 12px rgba(0,0,0,0.3);
}
.join-card:hover {
transform: translateY(-3px);
box-shadow: 0 4px 16px rgba(22,93,255,0.12);
}
body.night-mode .join-card:hover {
box-shadow: 0 4px 16px rgba(0,0,0,0.5);
}
.base-card .base-img {
width: 100%;
height: 250px;
border-radius: 4px;
margin-bottom: 9px;
overflow: hidden;
flex-shrink: 0;
}
/* 基地图片 - 等比缩放填满橙色容器,不拉伸 */
.base-card .base-img img {
width: 100%;
height: 100%;
object-fit: cover;
}
.base-card p {
font-size: 14px;
color: #4E5969;
line-height: 1.4;
margin: 0;
}
body.night-mode .base-card p {
color: #E5E6EB;
}
.contact-card .contact-qr {
width: 100%;
height: 150px;
border-radius: 4px;
margin-top: 12px;
overflow: hidden;
flex-shrink: 0;
}
/* 二维码图片 */
.contact-card .contact-qr img {
width: 100%;
height: 100%;
object-fit: contain;
margin-bottom: 10px;
padding: 8px;
}
.contact-card p {
font-size: 14px;
color: #4E5969;
line-height: 1; /* 优化:紧凑行高(原1.6) */
margin: 0; /* 清除默认外边距 */
/* white-space: pre-line; */
}
body.night-mode .contact-card p {
color: #E5E6EB;
}
/* 培养方向卡片 */
.require-card h3 {
font-size: 16px;
color: #165DFF;
margin-bottom: 12px; /* 优化:减少标题底部间距(原16px) */
padding: 0;
line-height: 1.2; /* 新增:紧凑行高 */
margin-top: 0; /* 清除默认上边距 */
}
body.night-mode .require-card h3 {
color: #4096ff;
}
.require-card ul {
padding-left: 20px;
list-style: disc;
margin: 0; /* 清除默认外边距 */
}
.require-card li {
font-size: 14px;
color: #4E5969;
line-height: 1.5;
margin-bottom: 8px;
}
.require-card li:last-child {
margin-bottom: 0;
}
body.night-mode .require-card li {
color: #E5E6EB;
}
/* 移动端适配 */
@media (max-width: 768px) {
.join-banner {
height: 150px;
}
.join-banner-text h1 {
font-size: 22px;
}
.join-container {
grid-template-columns: 1fr;
gap: 12px; /* 优化:移动端卡片间距更小 */
}
.base-card .base-img,
.contact-card .contact-qr {
height: 120px; /* 保持移动端原有设置 */
}
}