| /* --------- 容器 & Tabs --------- */ |
| .home-feed { |
| padding: 20px; |
| } |
| |
| .feed-tabs { |
| display: flex; |
| flex-wrap: wrap; |
| gap: 12px; |
| margin-bottom: 20px; |
| } |
| |
| .feed-tabs .tab { |
| padding: 6px 12px; |
| border: none; |
| background: #f0f0f0; |
| border-radius: 16px; |
| cursor: pointer; |
| transition: background 0.2s; |
| } |
| |
| .feed-tabs .tab.active { |
| background: #ff4757; |
| color: #fff; |
| } |
| |
| /* --------- 瀑布流布局 --------- */ |
| .feed-grid { |
| display: grid; |
| grid-gap: 16px; |
| grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); |
| } |
| |
| /* --------- 卡片样式及最大高度限制 --------- */ |
| .feed-card { |
| display: flex; |
| flex-direction: column; |
| max-height: 360px; /* 卡片最大高度 */ |
| overflow: hidden; /* 超出部分隐藏 */ |
| background: #fff; |
| border-radius: 8px; |
| box-shadow: 0 1px 4px rgba(0,0,0,0.1); |
| transition: transform 0.2s; |
| } |
| |
| .feed-card:hover { |
| transform: translateY(-4px); |
| } |
| |
| /* 封面图固定高度 */ |
| .card-img { |
| width: 100%; |
| height: 180px; /* 固定图片区域高度 */ |
| object-fit: cover; |
| flex-shrink: 0; /* 不随容器收缩 */ |
| } |
| |
| /* 标题填充剩余空间 */ |
| .card-title { |
| font-size: 14px; |
| color: #333; |
| margin: 12px; |
| line-height: 1.4; |
| flex: 1; /* 占满中间区域 */ |
| overflow: hidden; |
| text-overflow: ellipsis; |
| display: -webkit-box; |
| -webkit-line-clamp: 2; /* 最多两行 */ |
| -webkit-box-orient: vertical; |
| } |
| |
| /* --------- 底部:作者 + 点赞 --------- */ |
| .card-footer { |
| display: flex; |
| justify-content: space-between; |
| align-items: center; |
| padding: 8px 12px; |
| border-top: 1px solid #f0f0f0; |
| background: #fff; |
| flex-shrink: 0; /* 保持在底部 */ |
| } |
| |
| /* 作者区域 */ |
| .card-author { |
| display: flex; |
| align-items: center; |
| gap: 8px; |
| } |
| |
| .card-author .avatar { |
| width: 24px; |
| height: 24px; |
| border-radius: 50%; |
| object-fit: cover; |
| } |
| |
| .card-author .username { |
| font-size: 13px; |
| color: #333; |
| } |
| |
| /* 点赞区域 */ |
| .card-likes { |
| display: flex; |
| align-items: center; |
| gap: 4px; |
| } |
| |
| .card-likes svg { |
| color: #ff4757; |
| } |
| |
| .card-likes .likes-count { |
| font-size: 13px; |
| color: #666; |
| } |