/* pages/video/detail.wxss */ page { height: 100%; background: #fff; } .container { display: flex; flex-direction: column; width: 100%; height: 100vh; background-color: #fff; } /* 导航栏 */ .nav-container { background: #fff; position: fixed; top: 0; left: 0; width: 100%; z-index: 99; height: 88px; /* 44px状态栏 + 44px导航 */ display: flex; align-items: flex-end; padding-bottom: 10px; } .nav-back { position: absolute; bottom: 10px; left: 16rpx; width: 60rpx; height: 60rpx; display: flex; align-items: center; justify-content: center; } .icon-back { width: 40rpx; height: 40rpx; } .video-title { position: absolute; top: 110rpx; left: 50%; transform: translateX(-50%); flex: 1; width: 390rpx; overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; font-size: 32rpx; color: #333; text-align: center; margin: 0 auto; } .video-container { position: absolute; left: 0; width: 100%; top: 88px; /* 与导航栏高度一致 */ height: calc(100% - 88px); } .video-main { position: relative; height: 500rpx; } .my-video { position: relative; width: 100%; height: 100%; } /* 视频控制区域 */ .video-control-area { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 9; display: flex; justify-content: center; align-items: center; } .video-play-status { width: 120rpx; height: 120rpx; background-color: rgba(0, 0, 0, 0.3); border-radius: 50%; display: flex; justify-content: center; align-items: center; } .icon-play { width: 60rpx; height: 60rpx; } /* 加载中样式 */ .loading-container { position: absolute; top: 0; left: 0; right: 0; bottom: 0; display: flex; flex-direction: column; justify-content: center; align-items: center; background-color: #000; } .loading-spinner { width: 80rpx; height: 80rpx; border: 6rpx solid rgba(255, 255, 255, 0.1); border-left-color: #fff; border-radius: 50%; animation: spin 1s linear infinite; } @keyframes spin { to { transform: rotate(360deg); } } .loading-text { margin-top: 20rpx; font-size: 28rpx; color: rgba(255, 255, 255, 0.7); } /* 底部容器 */ .bottom-container { padding: 0 30rpx; } /* 分享按钮 */ .middle-share-container { position: relative; box-sizing: border-box; display: flex; align-items: center; justify-content: space-around; padding: 50rpx 0; } .middle-share-btn { position: relative; width: 260rpx; height: 90rpx; border-radius: 50rpx; font-size: 32rpx; font-family: PingFang SC, PingFang SC-Bold; line-height: 42rpx; color: #ffffff; display: flex; align-items: center; justify-content: center; } .middle-share-btn-green { background: #14b96c; } .middle-share-btn-orange { background: #ff7300; } .icon-wechat { width: 45rpx; height: 45rpx; margin-right: 10rpx; } .cover-button { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; } /* 标题样式 */ .title-wrap { padding: 30rpx 0; color: #111; } .title { width: 100%; font-size: 44rpx; font-family: PingFang SC, PingFang SC-Bold; letter-spacing: 2rpx; font-weight: bold; overflow: hidden; } /* 视频信息 */ .video-info { margin-bottom: 20rpx; } .video-stats { display: flex; justify-content: space-between; align-items: center; margin-bottom: 20rpx; font-size: 28rpx; color: #666; } /* 视频描述 */ .video-description { font-size: 28rpx; color: #333; line-height: 1.6; margin-bottom: 20rpx; } /* 互动按钮 */ .interaction-bar { display: flex; justify-content: space-around; padding: 20rpx 0; border-bottom: 1px solid #f0f0f0; margin-bottom: 20rpx; } .interaction-item { display: flex; flex-direction: column; align-items: center; position: relative; } .icon-interact { width: 50rpx; height: 50rpx; margin-bottom: 10rpx; } .interaction-item text { font-size: 24rpx; color: #666; } /* 视频标签 */ .video-tags { display: flex; flex-wrap: wrap; margin-top: 16rpx; } .tag { font-size: 24rpx; color: #ff4757; background-color: rgba(255, 71, 87, 0.08); padding: 8rpx 20rpx; border-radius: 30rpx; margin-right: 16rpx; margin-bottom: 16rpx; } /* 剧集列表 */ .episode-section { margin-bottom: 20rpx; } .section-title { display: flex; justify-content: space-between; align-items: center; margin-bottom: 24rpx; } .title-text { font-size: 32rpx; font-weight: bold; color: #333; } .episode-count { font-size: 28rpx; color: #666; } .episode-list { white-space: nowrap; height: 80rpx; } .episode-item { display: inline-block; margin-right: 16rpx; padding: 0 30rpx; height: 80rpx; line-height: 80rpx; border-radius: 40rpx; background-color: #f6f6f6; font-size: 28rpx; color: #666; } .episode-item.active { background-color: #ff4757; color: #fff; } /* 返回首页按钮 */ .home-btn { border: 1px solid #eeeeee; color: #121212; height: 100rpx; line-height: 100rpx; text-align: center; width: 100%; border-radius: 10rpx; font-size: 40rpx; margin-bottom: 30rpx; } /* 更多推荐标题 */ .more-title { color: #121212; font-size: 32rpx; text-align: center; margin-top: 30rpx; } /* 相关推荐 */ .recommend-section { padding: 30rpx; background: #fff; } .recommend-title { font-size: 32rpx; font-weight: bold; color: #333; margin-bottom: 20rpx; text-align: center; } .video-list { display: flex; flex-direction: column; gap: 20rpx; } /* 换一换按钮 */ .change-video { width: 80rpx; height: 80rpx; display: flex; justify-content: center; align-items: center; position: fixed; right: 30rpx; bottom: 15%; background: #fff; border-radius: 50%; z-index: 99; } .icon-change { width: 80rpx; height: 80rpx; position: absolute; top: 0; left: 0; } /* 视频卡片样式 */ .video-item { position: relative; margin-bottom: 20rpx; border-radius: 12rpx; overflow: hidden; box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.05); } .video-item::before{ content: ""; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.4); z-index: 2; position: absolute; top: 0; left: 0; } .video-cover-container { width: 100%; height: 380rpx; } .video-cover { width: 100%; height: 100%; } .play-button-container { position: absolute; top: 0; left: 0; right: 0; bottom: 0; display: flex; align-items: center; justify-content: center; z-index: 3; } .play-button { width: 100rpx; height: 100rpx; border-radius: 50%; background-color: rgba(255, 255, 255, 0.5); display: flex; align-items: center; justify-content: center; } .play-button-lock { /* width: 100rpx; */ height: 100rpx; text-align: center; /* display: flex; align-items: center; justify-content: center; */ } .play-button-lock-title { width: 100%; color: yellow; font-weight: 600; } .play-icon { width: 100rpx; height: 100rpx; } .video-item-title { position: absolute; top: 20rpx; left: 20rpx; font-size: 42rpx; font-weight: bold; color: #fff; margin-bottom: 10rpx; display: -webkit-box; width: 95%; z-index: 3; } .video-play-count { position: absolute; bottom: 20rpx; left: 20rpx; font-size: 36rpx; color: #fff; margin-top: 10rpx; z-index: 3; } .share-button { position: absolute; right: 20rpx; bottom: 20rpx; display: flex; flex-direction: row; align-items: center; justify-content: center; background: #07c160; border-radius: 40rpx; padding: 7rpx 20rpx; z-index: 3; border: 2rpx solid #fff; } .share-icon { width: 48rpx; height: 48rpx; margin-right: 8rpx; } .share-button text { font-size: 28rpx; color: #fff; font-weight: 500; } .share-cover-button { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; z-index: 4; padding: 0; margin: 0; border: none; background: transparent; } .share-cover-button::after { display: none; } /* 视频列表样式 */ .video-list { padding: 20rpx; } .video-item { position: relative; margin-bottom: 20rpx; border-radius: 12rpx; overflow: hidden; box-shadow: 0 2rpx 8rpx rgba(0, 0, 0, 0.05); } .video-item::before { content: ""; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.4); z-index: 2; position: absolute; top: 0; left: 0; } .video-cover-container { width: 100%; height: 380rpx; } .video-cover { width: 100%; height: 100%; } .video-item-title { position: absolute; top: 20rpx; left: 20rpx; font-size: 42rpx; font-weight: bold; color: #fff; margin-bottom: 10rpx; display: -webkit-box; width: 95%; z-index: 3; }