.listCard { // background: linear-gradient(90deg, rgba(183, 248, 113, 0.5) 0%, rgba(183, 248, 113, 0.1) 100%); border-radius: 20px; border-width: 0.5px; background: linear-gradient(90deg, #CCFFF2 0%, rgba(204, 255, 242, 0.30) 100%); } .listItem { display: flex; padding: 12px 15px; background: #ffffff; border-radius: 20px; border: 0.5px solid #f0f0f0; justify-content: space-between; } .content { flex: 1; display: flex; flex-direction: column; width: calc(100% - 122px); } .titleWrapper { display: flex; align-items: center; } .title { font-size: 16px; font-weight: 600; color: #000000; line-height: 24px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .title-right-arrow { width: 16px; height: 16px; flex-shrink: 0; } .location { display: flex; align-items: center; font-weight: 400; font-size: 12px; line-height: 18px; color: #3C3C4399; overflow: hidden; } .location-position { // flex: 1; min-width: 0; // 允许缩小 white-space: nowrap; overflow: hidden; // 不使用 CSS 的省略号,由 JS 控制 } .location-time-distance { flex-shrink: 0; // 固定信息不压缩,始终显示 white-space: nowrap; } .location-text { display: block; } .date-time { font-size: 12px; color: #3C3C4399; font-weight: 400; line-height: 18px; margin-top: 6px; margin-bottom: 4px; } .ntprIcon { width: 20px; } .ntprTag { gap: 2px; } .typeLine { width: 7px; position: relative; &::before { position: absolute; content: ''; width: 1px; height: 8px; border-radius: 99px; background: rgba(0, 0, 0, 0.25); top: 50%; left: 50%; transform: translate(-50%, -50%); } } .bottom-info { display: flex; align-items: center; margin-top: 8px; // 只有当 left-section 存在时才添加间距 .left-section + .tags { margin-left: 4px; } } .left-section { display: flex; align-items: center; gap: 8px; flex-shrink: 0; } .avatar-group { display: flex; align-items: center; } .avatar { width: 20px; height: 20px; border-radius: 50%; background: #e0e0e0; border: 2px solid #ffffff; margin-left: -8px; overflow: hidden; box-sizing: border-box; .avatar-image { width: 100%; height: 100%; object-fit: cover; } &:first-child { margin-left: 0; z-index: 3; } &:nth-child(2) { z-index: 2; } &:nth-child(3) { z-index: 1; } } .registration-text { font-size: 12px; color: #999999; } .tags { display: flex; gap: 4px; flex: 1; // 确保标签区域与文字左对齐,没有头像时无额外边距 margin-left: 0; } .tag { box-sizing: border-box; padding: 0 6px; border: 0.5px solid #00000029; height: 20px; border-radius: 20px; min-width: 38px; display: flex; align-items: center; justify-content: center; flex-shrink: 0; color: #000000; font-size: 11px; font-weight: 500; line-height: 20px; } .tag-text-max { color: #666666; } .image-section { width: 100px; height: 100px; position: relative; display: flex; align-items: center; justify-content: center; flex-basis: 100px; flex-grow: 0; flex-shrink: 0; .image-container { width: 100%; height: 100%; border: 1.5px solid #ffffff; border-radius: 10px; box-shadow: 0 0 10px 0 rgba(0, 0, 0, 0.2); overflow: hidden; position: absolute; box-sizing: border-box; .image { border-radius: 10px; } } } .single-image { position: relative; width: 88px; height: 88px; .image-container { width: 88px; height: 88px; transform: rotate(-10deg); } } .double-image { width: 100%; height: 100%; position: relative; .image-container { position: absolute; overflow: hidden; border: 1.5px solid #ffffff; border-radius: 9px; box-shadow: 0px 4px 24px 0px rgba(0, 0, 0, 0.2); box-sizing: border-box; // 设计稿尺寸 72.28px,按 100/122 比例缩放 width: 59.2px; height: 59.2px; &:first-child { // 设计稿位置 top: 10.52px, left: 38.52px,按比例缩放 top: 8.6px; left: 31.6px; z-index: 1; transform: rotate(8deg); } &:last-child { // 设计稿位置 top: 38.62px, left: 10.62px,按比例缩放 top: 31.7px; left: 8.7px; z-index: 2; transform: rotate(-8deg); } } } .triple-image { width: 100%; height: 100%; position: relative; .image-container { position: absolute; overflow: hidden; &:nth-child(1) { bottom: 0; left: 0; width: 55px; height: 55px; z-index: 3; transform: translateX(4px) rotate(-10deg); } &:nth-child(2) { bottom: 10px; right: 0; width: 55px; height: 55px; z-index: 2; transform: rotate(3deg); } &:nth-child(3) { top: 5%; left: 50%; width: 100rpx; height: 100rpx; z-index: 1; transform: translateX(-50%); } } } .image { width: 100%; height: 100%; object-fit: cover; } // 底部 .smoothPlayingGame { padding: 5px 12px; display: flex; align-items: center; gap: 6px; font-size: 12px; .smoothWrapper { line-height: 18px; display: flex; align-items: center; gap: 5px; flex-shrink: 0; } .localAreaWrapper { line-height: 18px; display: flex; align-items: center; gap: 5px; max-width:100%; min-width: 0; overflow: hidden; flex-shrink: 1; } .localAreaTitle { flex-shrink: 0; font-size: 12px; line-height: 20px; font-weight: 600; } .smoothTitle { font-size: 14px; } .line { height: 8px; width: 1px; background: #00000040; border-radius: 99px; } .localArea { width: 14px; height: 14px; } .iconListPlayingGame { width: 76px; } .localAreaContainer { display: flex; flex: 1; gap: 4px; min-width: 0; } .localArea { border: 0.5px solid #FFFFFFA6; border-radius: 50%; flex-shrink: 0; } .localAreaText { white-space: nowrap; overflow: hidden; text-overflow: ellipsis; min-width: 0; flex: 1; max-width: 100%; height: 20px; } }