/* 全局容器对齐:与顶部导航/入会礼券模块保持一致 */ .video-section { max-width: 100%; width: 70%; margin: 0 auto; padding: 40px 20px; box-sizing: border-box; } #productbox{ /* background-color: rgba(246,246,247,0.6); */ /* background-color: #f8f8f8; */ padding-bottom: 30px; } .section-title { text-align: center; font-size: 24px; font-weight: 600; margin-bottom: 30px; position: relative; display: block; width: 100%; left: 50%; transform: translateX(-50%); } .section-title::after { /* content: ''; position: absolute; bottom: -8px; left: 0; width: 100%; height: 2px; background-color: #e60012; */ } /* 时间线样式 - 修复圆点布局和样式 */ .video-timeline { position: relative; margin-bottom: 20px; max-width: 1800px; margin-left: auto; margin-right: auto; --timeline-dot-size: 10px; --timeline-line-height: 2px; --timeline-active-left: 0px; --timeline-active-width: 0px; } .timeline-line { position: absolute; top: auto; bottom: calc(var(--timeline-dot-size) / 2 - var(--timeline-line-height) / 2); left: 0; width: 100%; height: var(--timeline-line-height); background-color: #e5e5e5; z-index: 1; } .timeline-line::before { content: ""; position: absolute; left: var(--timeline-active-left); top: 0; width: var(--timeline-active-width); height: 100%; background-color: #e60012; border-radius: 999px; transition: left 0.3s ease, width 0.3s ease; } .timeline-dots { display: flex; justify-content: space-around; align-items: flex-end; position: relative; z-index: 2; width: 100%; } .timeline-dot { display: flex; flex-direction: column; align-items: center; cursor: pointer; flex: 0 0 auto; } /* 3个时间点时的特殊样式 */ .video-timeline.has-3-dots .timeline-dots { justify-content: flex-start; margin-top: 37px; } .video-timeline.has-3-dots .timeline-dot { position: absolute; bottom: 0; width: var(--video-item-width); } .video-timeline.has-3-dots .timeline-dot:nth-child(1) { left: 0; } .video-timeline.has-3-dots .timeline-dot:nth-child(2) { left: calc(var(--video-item-width) + var(--video-gap)); } .video-timeline.has-3-dots .timeline-dot:nth-child(3) { left: calc(var(--video-item-width) * 2 + var(--video-gap) * 2); } .dot-date { font-size: 14px; color: #666; margin-bottom: 8px; white-space: nowrap; } .dot { width: var(--timeline-dot-size); height: var(--timeline-dot-size); border-radius: 50%; /* 确保是正圆 */ background-color: #e5e5e5; transition: all 0.3s; } .timeline-dot.active .dot { background-color: #e60012; transform: scale(1); /* 激活时放大 */ border-radius: 50%; /* 确保激活后还是正圆 */ } .timeline-dot.active .dot-date { color: #e60012; font-weight: 600; } /* 轮播容器 */ .video-carousel { position: relative; /* overflow: hidden; */ /* padding: 0 40px; */ max-width: 100%; margin: 0 auto; } .video-wrapper { overflow: hidden; max-width: 1800px; margin: 0 auto; width: 100%; } .video-list { display: flex; transition: transform 0.4s ease; gap: 40px; } .video-item { /* min-width: calc((100% - 40px) / 3); */ /* max-width: 600px; */ width: calc((100% - 80px) / 3); min-width:calc((100% - 80px) / 3); /* 修复:精确计算宽度,扣除2个间隙 */ box-sizing: border-box; background: #fff; /* border-radius: 8px; */ overflow: hidden; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.08); } .video-cover { position: relative; width: 100%; height: 220px; background-size: cover; background-position: center; cursor: pointer; } .video-cover.is-disabled { cursor: default; } .play-btn { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 64px; height: 64px; border-radius: 0; background-color: transparent; background-image: url('../../images/cheyouhui/czsh/img-czsh/17.png'); background-repeat: no-repeat; background-position: center; background-size: contain; color: transparent; display: flex; align-items: center; justify-content: center; font-size: 0; line-height: 1; transition: all 0.3s; } .play-btn i { display: none; } .video-cover:hover .play-btn { background-color: transparent; transform: translate(-50%, -50%) scale(1.06); } .video-info { padding: 16px; } .video-title { font-size: 15px; /* font-weight: 600; */ margin-bottom: 8px; line-height: 1.4; display: -webkit-box; -webkit-line-clamp: 1; -webkit-box-orient: vertical; overflow: hidden; color: #808080; } .video-desc { font-size: 12px; color: #666; line-height: 1.2; /* margin-bottom: 12px; */ margin-bottom: 0px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; min-height: 30px; color: #808080; } /* 修复“了解更多”链接对齐 */ .video-more { font-size: 14px; color: #e60012; text-decoration: none; display: block; width: 100%; /* 确保对齐一致 */ text-align: right; /* 固定左对齐 */ color: #808080; display: none; } } .video-more:hover { text-decoration: underline; } .video-more.is-disabled { color: #999; pointer-events: none; text-decoration: none; } /* 左右箭头 */ .video-arrow { position: absolute; top: 50%; transform: translateY(-50%); width: 40px; height: 40px; border-radius: 50%; background-color: #000; border: none; box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1); cursor: pointer; z-index: 10; display: flex; align-items: center; justify-content: center; color: #fff; /* 修复:改为白色,提高对比度 */ font-size: 16px; /* 修复:添加图标大小控制 */ transition: all 0.3s; } .video-prev { left: -80px; } .video-next { right: -80px; } .video-arrow { font-size: 0; line-height: 1; } .video-arrow::before { content: ''; display: block; width: 10px; height: 10px; border-top: 2px solid currentColor; border-right: 2px solid currentColor; } .video-prev::before { transform: rotate(-135deg); margin-left: 2px; } .video-next::before { transform: rotate(45deg); margin-right: 2px; } .video-arrow:hover { background-color: #fff; color: #e60012; } .video-item:hover{ background-color: #ed1c24; color:#fff; } /* ,.video-desc,.video-more */ .video-item:hover .video-title{ color:#fff; } .video-item:hover .video-desc{ color:#fff; } .video-item:hover .video-more{ color:#fff; } .video-arrow:disabled { opacity: 0; visibility: hidden; pointer-events: none; } .video-empty { width: 100%; padding: 60px 0; text-align: center; color: #999; font-size: 14px; background-color: #fff; border-radius: 8px; } /* 视频弹窗蒙层 */ .video-modal { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.8); z-index: 9999; align-items: center; justify-content: center; } .modal-content { position: relative; width: 90%; max-width: 800px; background-color: #000; border-radius: 8px; overflow: hidden; } .close-modal { position: absolute; top: 10px; right: 15px; font-size: 30px; color: #fff; cursor: pointer; z-index: 10; } .modal-video-container { position: relative; padding-bottom: 56.25%; height: 0; } .modal-video-container iframe { position: absolute; top: 0; left: 0; width: 100%; height: 100%; } .modal-video-container video { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: #000; display: none; } /* 新增:加载更多按钮样式 */ .load-more-btn { display: block; margin: 30px auto 0; padding: 10px 24px; background-color: #e60012; color: #fff; border: none; border-radius: 4px; cursor: pointer; font-size: 14px; transition: background-color 0.3s; } .load-more-btn:hover { background-color: #b81805; /* 悬停加深颜色 */ } /* 响应式适配:移动端每次只显示一个 */ @media (max-width: 768px) { .video-item { min-width: 100%; } .video-section { width:93%; } .video-list { gap: 0; } .video-arrow { width: 32px; height: 32px; font-size: 14px; } .video-prev { left: -25px !important; } .video-next { right: -25px !important; } .video-carousel { padding: 0 20px; } .video-cover { height: 180px; } .play-btn { width: 48px; height: 48px; } .section-title { font-size: 20px; } /* 移动端时间线适配 */ .dot-date { font-size: 12px; } /* 移动端移除3个时间点的特殊样式,保持原来的布局 */ .video-timeline.has-3-dots .timeline-dots { justify-content: space-around; margin-top: 0; } .video-timeline.has-3-dots .timeline-dot { position: static; width: auto; } }