| | |
| | | /* 图片预览层样式 */ |
| | | .img-preview { |
| | | display: none; |
| | | |
| | | #map { |
| | | width: 100vw; |
| | | height: 100vh; |
| | | position: fixed; |
| | | top: 0; |
| | | left: 0; |
| | | width: 100%; |
| | | height: 100%; |
| | | background-color: rgba(0, 0, 0, 0.9); |
| | | z-index: 1000; |
| | | justify-content: center; |
| | | align-items: center; |
| | | z-index: 1; |
| | | } |
| | | |
| | | .preview-content { |
| | | max-width: 90%; |
| | | max-height: 90%; |
| | | position: relative; |
| | | } |
| | | |
| | | .preview-img { |
| | | max-width: 100%; |
| | | max-height: 90vh; |
| | | border-radius: 4px; |
| | | box-shadow: 0 5px 15px rgba(0, 0, 0, 0.3); |
| | | } |
| | | |
| | | .close-preview { |
| | | position: absolute; |
| | | top: -40px; |
| | | right: -10px; |
| | | color: white; |
| | | font-size: 2rem; |
| | | cursor: pointer; |
| | | background: rgba(0, 0, 0, 0.5); |
| | | width: 40px; |
| | | height: 40px; |
| | | border-radius: 50%; |
| | | display: flex; |
| | | justify-content: center; |
| | | align-items: center; |
| | | transition: all 0.3s ease; |
| | | } |
| | | |
| | | .close-preview:hover { |
| | | background: rgba(255, 255, 255, 0.2); |
| | | transform: scale(1.1); |
| | | } |
| | | |
| | | /* 图片网格样式 */ |
| | | .gallery-grid { |
| | | display: grid; |
| | | grid-template-columns: repeat(auto-fill, minmax(350px, 1fr)); |
| | | gap: 20px; |
| | | margin-bottom: 5px; |
| | | } |
| | | |
| | | .gallery-item { |
| | | background: white; |
| | | /* 右侧轨迹卡片悬浮层 */ |
| | | .track-card-panel { |
| | | position: fixed; |
| | | top: 20px; |
| | | right: 20px; |
| | | bottom: 20px; |
| | | width: 380px; |
| | | background: #fff; |
| | | border-radius: 8px; |
| | | overflow: hidden; |
| | | box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08); |
| | | transition: all 0.3s ease; |
| | | } |
| | | |
| | | .gallery-item:hover { |
| | | transform: translateY(-5px); |
| | | box-shadow: 0 10px 20px rgba(0, 0, 0, 0.12); |
| | | } |
| | | |
| | | .gallery-img { |
| | | width: 100%; |
| | | height: 240px; |
| | | object-fit: cover; |
| | | cursor: pointer; |
| | | transition: all 0.3s ease; |
| | | } |
| | | |
| | | .gallery-img:hover { |
| | | opacity: 0.95; |
| | | } |
| | | |
| | | .gallery-info { |
| | | box-shadow: 0 2px 12px rgba(0, 0, 0, 0.1); |
| | | z-index: 10; /* 层级高于地图 */ |
| | | padding: 15px; |
| | | overflow-y: auto; /* 纵向滚动 */ |
| | | overflow-x: hidden; /* 隐藏横向滚动 */ |
| | | } |
| | | |
| | | .gallery-header { |
| | | /* 卡片面板标题 */ |
| | | .panel-title { |
| | | font-size: 18px; |
| | | font-weight: 600; |
| | | color: #333; |
| | | padding-bottom: 10px; |
| | | border-bottom: 1px solid #e6e6e6; |
| | | margin-bottom: 15px; |
| | | display: flex; |
| | | justify-content: space-between; |
| | | align-items: center; |
| | | margin-bottom: 10px; |
| | | } |
| | | |
| | | .gallery-title { |
| | | font-size: 1.5rem; |
| | | font-weight: 600; |
| | | .panel-title .count { |
| | | font-size: 14px; |
| | | color: #1890ff; |
| | | font-weight: normal; |
| | | } |
| | | /* 单个轨迹卡片 */ |
| | | .track-card { |
| | | padding: 12px; |
| | | border: 1px solid #f0f0f0; |
| | | border-radius: 6px; |
| | | margin-bottom: 10px; |
| | | cursor: pointer; |
| | | transition: all 0.2s ease; |
| | | } |
| | | .track-card:hover { |
| | | border-color: #1890ff; |
| | | background: #f5f8ff; |
| | | transform: translateX(-2px); |
| | | } |
| | | .track-card.active { |
| | | border-color: #1890ff; |
| | | background: #e6f7ff; |
| | | } |
| | | /* 卡片内信息行 */ |
| | | .card-row { |
| | | display: flex; |
| | | margin-bottom: 6px; |
| | | font-size: 14px; |
| | | line-height: 1.5; |
| | | } |
| | | .card-row:last-child { |
| | | margin-bottom: 0; |
| | | } |
| | | .card-row .label { |
| | | width: 80px; |
| | | color: #666; |
| | | flex-shrink: 0; |
| | | } |
| | | .card-row .value { |
| | | color: #333; |
| | | margin: 0; |
| | | flex: 1; |
| | | white-space: nowrap; |
| | | overflow: hidden; |
| | | text-overflow: ellipsis; |
| | | white-space: nowrap; |
| | | } |
| | | |
| | | .gallery-meta { |
| | | display: flex; |
| | | flex-direction: column; |
| | | gap: 2px; |
| | | /* 滚动条美化 */ |
| | | .track-card-panel::-webkit-scrollbar { |
| | | width: 6px; |
| | | } |
| | | |
| | | .meta-item { |
| | | display: flex; |
| | | align-items: center; |
| | | font-size: 1.3rem; |
| | | color: #666; |
| | | .track-card-panel::-webkit-scrollbar-track { |
| | | background: #f5f5f5; |
| | | border-radius: 3px; |
| | | } |
| | | |
| | | .meta-item i { |
| | | width: 16px; |
| | | margin-right: 6px; |
| | | color: #999; |
| | | font-size: 1.25rem; |
| | | .track-card-panel::-webkit-scrollbar-thumb { |
| | | background: #d9d9d9; |
| | | border-radius: 3px; |
| | | } |
| | | |
| | | .gallery-filename i { |
| | | margin-right: 5px; |
| | | font-size: 0.7rem; |
| | | } |
| | | |
| | | /* 标签样式 */ |
| | | .gallery-tags { |
| | | display: flex; |
| | | flex-wrap: wrap; |
| | | margin-left: auto; |
| | | gap: 3px; |
| | | /*margin: 12px 0;*/ |
| | | } |
| | | |
| | | |
| | | /* 分页样式 */ |
| | | .pagination-container { |
| | | display: flex; |
| | | justify-content: flex-end; |
| | | width: 100%; |
| | | /*margin-top: 40px;*/ |
| | | } |
| | | |
| | | /* 空状态样式 */ |
| | | .empty-state { |
| | | grid-column: 1 / -1; |
| | | text-align: center; |
| | | padding: 60px 20px; |
| | | color: #999; |
| | | } |
| | | |
| | | .empty-state i { |
| | | font-size: 4rem; |
| | | margin-bottom: 20px; |
| | | color: #ddd; |
| | | } |
| | | |
| | | .empty-state h3 { |
| | | font-size: 1.5rem; |
| | | margin-bottom: 10px; |
| | | color: #666; |
| | | } |
| | | |
| | | /* 响应式设计 */ |
| | | @media (max-width: 992px) { |
| | | .gallery-grid { |
| | | grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)); |
| | | gap: 25px; |
| | | } |
| | | } |
| | | |
| | | @media (max-width: 768px) { |
| | | |
| | | |
| | | .main-nav li { |
| | | margin: 0 10px; |
| | | } |
| | | |
| | | .gallery-grid { |
| | | grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); |
| | | gap: 20px; |
| | | } |
| | | |
| | | .gallery-img { |
| | | height: 180px; |
| | | } |
| | | |
| | | } |
| | | |
| | | @media (max-width: 576px) { |
| | | .gallery-grid { |
| | | grid-template-columns: 1fr; |
| | | } |
| | | |
| | | .gallery-img { |
| | | height: 200px; |
| | | } |
| | | |
| | | .track-card-panel::-webkit-scrollbar-thumb:hover { |
| | | background: #1890ff; |
| | | } |