.top-search {
position: sticky;
top: 0;
z-index: 9;
}
.nav-tabs {
position: sticky;
width: 100%;
padding: 10rpx 16rpx 20rpx 24rpx;
z-index: 9;
background: transparent;
transition: background-color 0.3s ease;
}
.nav-tabs .tabs-scroll-content {
display: flex;
align-items: center;
gap: 48rpx;
}
.nav-tabs .tab-item {
position: relative;
white-space: nowrap;
padding-bottom: 16rpx;
font-weight: 500;
font-size: 28rpx;
color: #666666;
line-height: 40rpx;
}
.nav-tabs .tab-item.active {
color: #333333;
}
.nav-tabs .tab-item::after {
content: '';
position: absolute;
bottom: 0;
left: 50%;
transform: translateX(-50%);
width: 0;
height: 4px;
background-color: #333;
transition: width 0.6s linear;
border-radius: 8rpx;
}
.nav-tabs .tab-item.active::after {
width: 52rpx;
}
.nav-tabs .tab-item.active {
color: #333;
}
.tabs-scroll ::v-deep ::-webkit-scrollbar {
width: 0rpx!important;
height: 0rpx!important;
background-color: transparent;
}
.recommend-lives {
padding: 10rpx 24rpx 24rpx 24rpx;
}
.recommend-lives .live-grid {
column-count: 2;
column-gap: 20rpx;
column-fill: balance;
}
.recommend-lives .live-card-item {
break-inside: avoid;
padding-bottom: 20rpx;
}
.recommend-lives .live-card {
overflow: hidden;
background-color: #fff;
box-shadow: 0 4rpx 8rpx rgba(0, 0, 0, 0.1);
border-radius: 8rpx;
width: 100%;
}
.recommend-lives .live-cover {
position: relative;
width: 100%;
}
.recommend-lives .live-thumbnail {
width: 100%;
height: 200rpx;
object-fit: cover;
}
.live-status-tag {
position: absolute;
top: 10rpx;
left: 10rpx;
padding: 4rpx 12rpx;
border-radius: 4rpx;
font-size: 22rpx;
color: #fff;
background-color: #999;
display: flex;
align-items: center;
gap: 6rpx;
}
.live-status-tag.status-1 {
background-color: #E93633;
}
.live-status-tag.status-2 {
background-color: #F5C242;
}
.live-status-tag.status-3 {
background-color: #666;
}
.live-status-dots {
display: flex;
flex-direction: row;
justify-content: center;
align-items: flex-end;
height: 16rpx;
gap: 4rpx;
}
.live-status-dots .dot {
width: 4rpx;
background-color: #fff;
border-radius: 2rpx;
transform-origin: bottom;
}
.live-status-dots .dot:nth-child(1) {
animation: bar1-random 1.1s infinite ease-in-out both;
}
.live-status-dots .dot:nth-child(2) {
animation: bar2-random 1.4s infinite ease-in-out both;
}
.live-status-dots .dot:nth-child(3) {
animation: bar3-random 1.2s infinite ease-in-out both;
}
@keyframes bar1-random {
0% { height: 4rpx; }
10% { height: 8rpx; }
20% { height: 6rpx; }
30% { height: 12rpx; }
40% { height: 10rpx; }
50% { height: 14rpx; }
60% { height: 8rpx; }
70% { height: 12rpx; }
80% { height: 6rpx; }
90% { height: 10rpx; }
100% { height: 4rpx; }
}
@keyframes bar2-random {
0% { height: 6rpx; }
10% { height: 10rpx; }
20% { height: 8rpx; }
30% { height: 14rpx; }
40% { height: 6rpx; }
50% { height: 12rpx; }
60% { height: 10rpx; }
70% { height: 8rpx; }
80% { height: 12rpx; }
90% { height: 6rpx; }
100% { height: 6rpx; }
}
@keyframes bar3-random {
0% { height: 8rpx; }
10% { height: 6rpx; }
20% { height: 12rpx; }
30% { height: 10rpx; }
40% { height: 14rpx; }
50% { height: 6rpx; }
60% { height: 10rpx; }
70% { height: 8rpx; }
80% { height: 10rpx; }
90% { height: 12rpx; }
100% { height: 8rpx; }
}
.live-status-dot {
width: 12rpx;
height: 12rpx;
background-color: #fff;
border-radius: 50%;
animation: pulse 1.5s infinite;
}
@keyframes pulse {
0%, 100% { opacity: 1; }
50% { opacity: 0.5; }
}
.live-view-count {
position: absolute;
bottom: 10rpx;
right: 10rpx;
padding: 4rpx 12rpx;
border-radius: 4rpx;
font-size: 22rpx;
color: #fff;
background-color: rgba(0, 0, 0, 0.5);
display: flex;
align-items: center;
gap: 6rpx;
}
.recommend-lives .live-info {
padding: 20rpx;
padding-top: 10rpx;
gap: 20rpx;
}
.recommend-lives .live-title {
font-weight: 500;
font-size: 28rpx;
color: #333333;
line-height: 40rpx;
}
.recommend-lives .live-anchor,
.recommend-lives .live-likes {
font-weight: 400;
font-size: 24rpx;
color: #999999;
line-height: 34rpx;
}
.live-anchor .anchor-avatar {
width: 40rpx;
height: 40rpx;
border-radius: 50%;
}
.live-anchor .anchor-name {
max-width: 150rpx;
}
.tabs-scroll-image {
width: 40rpx;
height: 40rpx;
}