/* src/views/Community/index.css - 增强版 */ .community-layout { min-height: 100vh; background: linear-gradient(180deg, #f8f9fb 0%, #f0f2f5 100%); } .community-content { padding: 0; } /* 渐变头部样式 */ .page-header.gradient-header { background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); padding: 40px 32px 32px; margin: -24px -24px 32px; border-radius: 0 0 24px 24px; position: relative; overflow: hidden; box-shadow: 0 8px 32px rgba(102, 126, 234, 0.15); } /* 头部图案装饰 */ .header-pattern { position: absolute; top: -60px; right: -60px; width: 300px; height: 300px; background: radial-gradient(circle, rgba(255,255,255,0.1) 0%, transparent 70%); border-radius: 50%; animation: float 15s ease-in-out infinite; } .header-pattern::before { content: ''; position: absolute; top: 150px; left: -100px; width: 200px; height: 200px; background: radial-gradient(circle, rgba(255,255,255,0.08) 0%, transparent 70%); border-radius: 50%; animation: float 20s ease-in-out infinite reverse; } @keyframes float { 0%, 100% { transform: translateY(0) rotate(0deg); } 50% { transform: translateY(-20px) rotate(10deg); } } /* 主标题样式 */ .main-title { margin: 0; font-size: 36px; font-weight: 700; color: white; text-shadow: 0 2px 8px rgba(0,0,0,0.1); display: flex; align-items: center; gap: 12px; } .title-icon { font-size: 42px; animation: pulse 2s ease-in-out infinite; } @keyframes pulse { 0%, 100% { transform: scale(1); } 50% { transform: scale(1.1); } } .subtitle { margin: 12px 0 16px; color: rgba(255,255,255,0.9); font-size: 16px; } /* 头部徽章 */ .header-badges { display: flex; gap: 24px; margin-top: 16px; } .header-badges .ant-badge-status { color: rgba(255,255,255,0.95); font-size: 14px; } .header-badges .ant-badge-status-dot { width: 8px; height: 8px; } /* 自动更新按钮 */ .auto-update-btn, .auto-update-btn-active { border-radius: 24px; font-weight: 500; transition: all 0.3s; border: 2px solid rgba(255,255,255,0.3); } .auto-update-btn { background: rgba(255,255,255,0.2) !important; color: white !important; } .auto-update-btn:hover { background: rgba(255,255,255,0.3) !important; transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0,0,0,0.15); } .auto-update-btn-active { background: white !important; color: #667eea !important; border-color: white !important; box-shadow: 0 4px 12px rgba(255,255,255,0.3); } .auto-update-btn-active:hover { transform: translateY(-2px); box-shadow: 0 8px 20px rgba(0,0,0,0.15); } /* 增强的事件卡片 */ .events-card.enhanced-card { min-height: 400px; border-radius: 16px; border: none; box-shadow: 0 4px 24px rgba(0,0,0,0.06); overflow: hidden; } .events-card .ant-card-body { padding: 0; } /* 卡片头部 */ .card-header { padding: 24px 24px 20px; border-bottom: 1px solid #f0f0f0; display: flex; justify-content: space-between; align-items: center; background: linear-gradient(to bottom, #fafbfc, #ffffff); } .header-left { display: flex; flex-direction: column; gap: 4px; } .timeline-title { margin: 0 !important; font-size: 20px !important; font-weight: 600 !important; color: #1a1a1a; display: flex; align-items: center; gap: 8px; } .timeline-icon { color: #667eea; font-size: 24px; } .timeline-subtitle { font-size: 14px; color: #8c8c8c; display: flex; align-items: center; gap: 8px; } .timeline-subtitle .anticon { font-size: 12px; } .timeline-subtitle .anticon-global { color: #1890ff; } .timeline-subtitle .anticon-thunderbolt { color: #52c41a; } .timeline-subtitle .anticon-bulb { color: #faad14; } /* 事件列表容器 */ .events-card .ant-spin-nested-loading > div > .ant-spin-container { padding: 24px; } /* 分页容器优化 */ .pagination-container { margin-top: 24px; text-align: center; padding: 20px 24px; background: #fafbfc; border-top: 1px solid #f0f0f0; } /* 热点事件部分样式 */ .hot-events-section { margin-top: 48px; padding: 32px; background: white; border-radius: 16px; box-shadow: 0 4px 24px rgba(0,0,0,0.06); } .section-title { font-size: 24px; font-weight: 600; margin-bottom: 8px; background: linear-gradient(135deg, #667eea 0%, #764ba2 100%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; } .section-subtitle { color: #666; margin-bottom: 24px; } /* 侧边栏卡片统一样式 */ .ant-card { border-radius: 12px; border: none; box-shadow: 0 2px 12px rgba(0,0,0,0.04); transition: all 0.3s; } .ant-card:hover { box-shadow: 0 4px 24px rgba(0,0,0,0.08); transform: translateY(-2px); } /* 加载提示优化 */ .ant-spin-text { color: #667eea; font-weight: 500; margin-top: 8px; } /* 空状态优化 */ .ant-empty-description { color: #8c8c8c; font-size: 16px; } /* 消息提示样式 */ .ant-message-notice-content { border-radius: 8px; box-shadow: 0 4px 12px rgba(0,0,0,0.1); } /* 响应式设计 */ @media (max-width: 992px) { .page-header.gradient-header { padding: 32px 24px 24px; } .main-title { font-size: 28px; } .title-icon { font-size: 32px; } .header-badges { flex-wrap: wrap; gap: 12px; } } @media (max-width: 768px) { .page-header.gradient-header { padding: 24px 16px; border-radius: 0; } .main-title { font-size: 24px; } .subtitle { font-size: 14px; } .community-content { padding: 16px; } .card-header { flex-direction: column; align-items: flex-start; gap: 12px; } .timeline-title { font-size: 18px !important; } .auto-update-btn, .auto-update-btn-active { font-size: 14px; padding: 4px 16px; } } /* 暗色模式支持(可选) */ @media (prefers-color-scheme: dark) { .community-layout { background: linear-gradient(180deg, #141414 0%, #1f1f1f 100%); } .events-card.enhanced-card { background: #1f1f1f; box-shadow: 0 4px 24px rgba(0,0,0,0.2); } .card-header { background: linear-gradient(to bottom, #2a2a2a, #1f1f1f); border-bottom-color: #303030; } .timeline-title { color: #f0f0f0; } }