Files
all-in-one-sys/css/components.css
KQL 4c52d35eb3 fix: 修复地图界面搜索栏和省级地图返回按钮问题
- 添加省级地图返回按钮,与企业列表界面风格一致
- 修复移动端搜索框布局,独立于header显示
- 添加响应式布局支持:
  * 移动端:112px顶部空间(header + 搜索框)
  * PC端:64px顶部空间(只有header)
- 优化面包屑导航位置
- 在切换地图层级时自动显示/隐藏返回按钮

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
2025-12-04 20:17:02 +08:00

330 lines
6.8 KiB
CSS
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/* ===================================
组件样式
=================================== */
/* V1 风格霸气标题 */
.v1-title {
font-family: 'Arial Black', 'Helvetica Neue', sans-serif;
font-size: 5rem;
letter-spacing: 0.8rem;
color: #fff;
text-shadow: 0 0 20px rgba(0, 240, 255, 0.8), 0 0 40px rgba(0, 240, 255, 0.4);
text-transform: uppercase;
margin-bottom: 1rem;
white-space: nowrap;
opacity: 0; /* 初始隐藏,等待开场动画 */
}
.v1-subtitle {
font-size: 1.2rem;
color: #ccc;
letter-spacing: 0.4rem;
font-weight: 300;
text-shadow: 0 0 10px rgba(255, 255, 255, 0.3);
opacity: 0; /* 初始隐藏,等待开场动画 */
}
/* 底部提示 */
.instruction-hint {
position: absolute;
bottom: 10%;
left: 50%;
transform: translateX(-50%);
color: rgba(0, 240, 255, 0.8);
font-size: 0.9rem;
pointer-events: none;
z-index: 10;
letter-spacing: 2px;
border: 1px solid rgba(0, 240, 255, 0.3);
padding: 10px 20px;
border-radius: 30px;
background: rgba(0, 0, 0, 0.5);
opacity: 0; /* 初始隐藏,等待开场动画 */
}
/* 毛玻璃头部 */
.glass-header {
background: rgba(11, 16, 38, 0.9);
backdrop-filter: blur(12px);
border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}
/* 搜索框 */
.search-input {
background: rgba(255, 255, 255, 0.08);
border: 1px solid rgba(255, 255, 255, 0.1);
color: white;
transition: all 0.3s;
}
.search-input:focus {
background: rgba(255, 255, 255, 0.15);
border-color: #38bdf8;
outline: none;
box-shadow: 0 0 15px rgba(56, 189, 248, 0.2);
}
.search-input::placeholder {
color: rgba(255, 255, 255, 0.4);
}
/* 搜索建议下拉列表 */
.search-suggestions {
position: absolute;
top: calc(100% + 8px);
left: 0;
right: 0;
background: rgba(17, 24, 39, 0.95);
backdrop-filter: blur(10px);
border-radius: 12px;
border: 1px solid rgba(255, 255, 255, 0.1);
max-height: 320px;
overflow-y: auto;
box-shadow: 0 10px 40px rgba(0, 0, 0, 0.3);
z-index: 10000;
}
/* 搜索结果项 */
.search-item {
padding: 12px 16px;
cursor: pointer;
display: flex;
align-items: center;
gap: 10px;
color: #e5e7eb;
transition: all 0.2s;
border-bottom: 1px solid rgba(255, 255, 255, 0.05);
}
.search-item:last-child {
border-bottom: none;
}
.search-item:hover,
.search-item.active {
background: rgba(59, 130, 246, 0.2);
color: #60a5fa;
}
/* 搜索项图标 */
.search-icon {
font-size: 18px;
width: 24px;
text-align: center;
flex-shrink: 0;
}
/* 搜索项名称 */
.search-name {
flex: 1;
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
/* 企业城市标签 */
.search-city-tag {
margin-left: auto;
font-size: 12px;
color: #9ca3af;
background: rgba(255, 255, 255, 0.05);
padding: 2px 8px;
border-radius: 4px;
white-space: nowrap;
flex-shrink: 0;
}
/* 无结果提示 */
.search-no-result {
padding: 20px;
text-align: center;
color: #9ca3af;
font-size: 14px;
}
/* 移动端适配 */
@media (max-width: 768px) {
.search-suggestions {
max-height: 280px;
}
.search-item {
padding: 10px 14px;
font-size: 14px;
}
.search-icon {
font-size: 16px;
width: 20px;
}
.search-city-tag {
font-size: 11px;
padding: 1px 6px;
}
}
/* 企业卡片 */
.company-card {
background: rgba(30, 41, 59, 0.6);
border: 1px solid rgba(56, 189, 248, 0.2);
backdrop-filter: blur(10px);
transition: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
overflow: hidden;
cursor: pointer;
}
.company-card:hover {
transform: translateY(-5px);
border-color: #38bdf8;
background: rgba(30, 41, 59, 0.8);
box-shadow: 0 0 30px rgba(56, 189, 248, 0.15);
}
/* 职位卡片(通用) */
.job-card {
background: rgba(30, 41, 59, 0.6);
border: 1px solid rgba(56, 189, 248, 0.2);
backdrop-filter: blur(10px);
transition: all 0.3s;
}
.job-card:hover {
transform: translateY(-5px);
border-color: #38bdf8;
background: rgba(30, 41, 59, 0.8);
box-shadow: 0 10px 30px -10px rgba(56, 189, 248, 0.3);
}
/* 详情页 - 业务板块卡片 */
.segment-card {
background: rgba(255, 255, 255, 0.03);
border: 1px solid rgba(255, 255, 255, 0.05);
border-radius: 8px;
padding: 20px;
}
.segment-title {
color: #fff;
font-weight: bold;
font-size: 1.1rem;
margin-bottom: 15px;
display: flex;
align-items: center;
}
.segment-title::before {
content: '';
display: block;
width: 4px;
height: 16px;
background: #38bdf8;
margin-right: 10px;
box-shadow: 0 0 10px #38bdf8;
}
/* 岗位标签 */
.job-tag {
display: inline-block;
padding: 6px 12px;
margin: 0 8px 8px 0;
background: rgba(56, 189, 248, 0.05);
color: #94a3b8;
border: 1px solid rgba(56, 189, 248, 0.1);
border-radius: 20px;
font-size: 0.85rem;
cursor: pointer;
transition: all 0.2s;
}
.job-tag:hover {
background: #38bdf8;
color: #000;
border-color: #38bdf8;
box-shadow: 0 0 15px rgba(56, 189, 248, 0.5);
}
/* 相册图片 */
.gallery-img {
width: 100%;
height: 100px;
object-fit: cover;
border-radius: 6px;
border: 1px solid rgba(255, 255, 255, 0.1);
transition: transform 0.3s;
}
.gallery-img:hover {
transform: scale(1.05);
border-color: #38bdf8;
}
/* 标签徽章 */
.tag-badge {
background: rgba(56, 189, 248, 0.1);
color: #38bdf8;
border: 1px solid rgba(56, 189, 248, 0.3);
font-size: 0.75rem;
padding: 2px 8px;
border-radius: 4px;
}
/* 移动端组件适配 */
@media (max-width: 768px) {
.v1-title {
font-size: 1.6rem;
letter-spacing: 0.15rem;
font-weight: 900;
text-shadow: 0 0 20px rgba(0, 240, 255, 0.8), 0 0 40px rgba(0, 240, 255, 0.4);
white-space: nowrap;
overflow: visible;
}
.v1-subtitle {
font-size: 0.9rem;
letter-spacing: 0.2rem;
}
.instruction-hint {
font-size: 0.75rem;
padding: 8px 16px;
}
.segment-card {
padding: 15px;
}
.job-tag {
font-size: 0.75rem;
padding: 4px 10px;
}
}
/* 地图界面响应式布局 */
#map-interface main {
padding-top: 112px; /* 默认移动端64px header + 48px 搜索框 */
}
#map-interface #map-chart {
height: calc(100vh - 112px);
}
#breadcrumb-container {
top: 120px; /* 移动端:在搜索框下方 */
}
@media (min-width: 768px) {
#map-interface main {
padding-top: 64px; /* PC端只有header */
}
#map-interface #map-chart {
height: calc(100vh - 64px);
}
#breadcrumb-container {
top: 80px; /* PC端在header下方 */
}
}