/* src/views/Community/components/EventList.css */ /* 时间轴容器样式 */ .event-timeline { padding: 0 0 0 24px; } /* 时间轴圆点样式 */ .timeline-dot { border: none !important; cursor: pointer; transition: all 0.3s; } /* 时间轴事件卡片 */ .timeline-event-card { padding: 20px; margin-bottom: 16px; background: #fff; border-radius: 12px; border: 1px solid #f0f0f0; cursor: pointer; transition: all 0.3s; position: relative; overflow: hidden; } .timeline-event-card:hover { transform: translateX(8px); box-shadow: 0 6px 20px rgba(0,0,0,0.08); border-color: #d9d9d9; } /* 重要性标记线 */ .importance-marker { position: absolute; left: 0; top: 0; width: 4px; height: 100%; transition: width 0.3s; } .timeline-event-card:hover .importance-marker { width: 6px; } /* 事件标题 */ .event-title { margin-bottom: 8px; } .event-title a { color: #1890ff; font-size: 16px; font-weight: 500; text-decoration: none; transition: color 0.3s; } .event-title a:hover { color: #40a9ff; text-decoration: underline; } /* 事件元信息 */ .event-meta { font-size: 12px; color: #999; margin-bottom: 12px; display: flex; align-items: center; gap: 16px; } .event-meta .anticon { margin-right: 4px; } .event-meta .separator { margin: 0; color: #e8e8e8; } /* 事件描述 */ .event-description { margin: 0 0 12px; color: #666; line-height: 1.6; font-size: 14px; } /* 事件统计标签 */ .event-stats { margin-bottom: 16px; } .event-stats .ant-tag { border-radius: 4px; padding: 2px 8px; font-size: 12px; } /* 事件操作区域 */ .event-actions { display: flex; justify-content: space-between; align-items: center; font-size: 13px; color: #999; } .event-actions > span { margin-right: 0; } .event-actions .anticon { margin-right: 4px; } /* 事件按钮 */ .event-buttons { margin-left: auto; } .event-buttons .ant-btn { font-size: 13px; } .event-buttons .ant-btn-sm { height: 28px; padding: 0 12px; } /* 重要性指示器 */ .importance-indicator { text-align: right; display: flex; flex-direction: column; align-items: center; gap: 8px; } .importance-indicator .ant-badge { display: block; } .importance-indicator .ant-avatar { transition: all 0.3s; } .timeline-event-card:hover .importance-indicator .ant-avatar { transform: scale(1.1); } .importance-label { font-size: 12px; color: #666; font-weight: 500; } /* 分页容器 */ .pagination-container { margin-top: 32px; text-align: center; padding-top: 24px; border-top: 1px solid #f0f0f0; } /* 空状态 */ .empty-state { text-align: center; padding: 60px 0; color: #999; font-size: 14px; } /* 响应式设计 */ @media (max-width: 768px) { .event-timeline { padding-left: 0; } .timeline-event-card { padding: 16px; } .event-title a { font-size: 15px; } .event-description { font-size: 13px; } .event-actions { flex-direction: column; align-items: flex-start; gap: 12px; } .event-buttons { margin-left: 0; width: 100%; } .event-buttons .ant-space { width: 100%; } .event-buttons .ant-btn { flex: 1; } .importance-indicator { position: absolute; top: 16px; right: 16px; } .importance-label { display: none; } } /* 深色主题支持(可选) */ @media (prefers-color-scheme: dark) { .timeline-event-card { background: #1f1f1f; border-color: #303030; } .timeline-event-card:hover { border-color: #434343; } .event-title a { color: #4096ff; } .event-description { color: #bfbfbf; } .event-meta { color: #8c8c8c; } } /* 动画效果 */ @keyframes fadeInLeft { from { opacity: 0; transform: translateX(-20px); } to { opacity: 1; transform: translateX(0); } } /* 时间轴项目动画 */ .ant-timeline-item { animation: fadeInLeft 0.5s ease-out forwards; opacity: 0; } .ant-timeline-item:nth-child(1) { animation-delay: 0.1s; } .ant-timeline-item:nth-child(2) { animation-delay: 0.2s; } .ant-timeline-item:nth-child(3) { animation-delay: 0.3s; } .ant-timeline-item:nth-child(4) { animation-delay: 0.4s; } .ant-timeline-item:nth-child(5) { animation-delay: 0.5s; } .ant-timeline-item:nth-child(6) { animation-delay: 0.6s; } .ant-timeline-item:nth-child(7) { animation-delay: 0.7s; } .ant-timeline-item:nth-child(8) { animation-delay: 0.8s; } .ant-timeline-item:nth-child(9) { animation-delay: 0.9s; } .ant-timeline-item:nth-child(10) { animation-delay: 1s; } /* 时间轴连接线样式 */ .ant-timeline-item-tail { border-left-style: dashed; border-left-width: 2px; } /* 涨跌幅标签特殊样式 */ .event-stats .ant-tag[color="#ff4d4f"] { background-color: #fff1f0; border-color: #ffccc7; } .event-stats .ant-tag[color="#52c41a"] { background-color: #f6ffed; border-color: #b7eb8f; } /* 快速查看和详细信息按钮悬停效果 */ .event-buttons .ant-btn-default:hover { color: #40a9ff; border-color: #40a9ff; } .event-buttons .ant-btn-primary { background: #1890ff; border-color: #1890ff; } .event-buttons .ant-btn-primary:hover { background: #40a9ff; border-color: #40a9ff; } /* 工具提示样式 */ .ant-tooltip-inner { font-size: 12px; } /* 徽章计数样式 */ .importance-indicator .ant-badge-count { font-size: 12px; font-weight: bold; min-width: 20px; height: 20px; line-height: 20px; border-radius: 10px; padding: 0 6px; } /* 加载状态动画 */ .timeline-event-card.loading { background: linear-gradient(90deg, #f0f0f0 25%, #e0e0e0 50%, #f0f0f0 75%); background-size: 200% 100%; animation: loading 1.5s infinite; } @keyframes loading { 0% { background-position: 200% 0; } 100% { background-position: -200% 0; } } /* 特殊重要性等级样式增强 */ .timeline-event-card[data-importance="S"] { border-left: 4px solid #722ed1; } .timeline-event-card[data-importance="A"] { border-left: 4px solid #ff4d4f; } .timeline-event-card[data-importance="B"] { border-left: 4px solid #faad14; } .timeline-event-card[data-importance="C"] { border-left: 4px solid #52c41a; } /* 时间轴左侧内容区域优化 */ .ant-timeline-item-content { padding-bottom: 0; min-height: auto; } /* 确保最后一个时间轴项目没有连接线 */ .ant-timeline-item:last-child .ant-timeline-item-tail { display: none; } /* 打印样式优化 */ @media print { .timeline-event-card { page-break-inside: avoid; border: 1px solid #000; } .event-buttons { display: none; } .importance-marker { width: 2px !important; background: #000 !important; } }