/* 轮播容器 - 横向铺满屏幕 */ .bottom-carousel-wrap { position: relative; width: 100%; overflow: hidden; background-color: #fff; } .bottom-carousel { background-color: transparent; position: relative; width: 100%; min-height: auto; padding: 32px 0 calc(26px + var(--carousel-bg-extra)); z-index: 2; --carousel-card-height: 420px; --carousel-wrap-height: 520px; --carousel-step-1: 300px; --carousel-step-2: 600px; --carousel-top: 50px; --carousel-desc-gap: 24px; --carousel-bg-extra: 80px; --carousel-card-half: calc(var(--carousel-card-height) / 2); } /* 背景图 - 横向铺满 */ .carousel-bg { position: absolute; top: 40%; left: 50%; width: 100vw; height: 100%; transform: translateX(-50%) translateY(-50%); background-size: 100% auto; background-position: center bottom; background-repeat: no-repeat; z-index: 1; pointer-events: none; background-color: #ffffff; } .carousel-bg-img{ width: 100vw; /* position: absolute; */ /* transform: translateY(-80%); */ /* bottom: 0; */ margin-top: -56%; } @media (max-width: 1680px) { .carousel-bg-img { margin-top: -56%; } } @media (max-width: 1440px) { .carousel-bg-img { margin-top: -56%; } } @media (max-width: 1280px) { .carousel-bg-img { margin-top: -60%; } } /* 外层容器 - 控制最大宽度1800px,横向居中 */ .carousel-outer { margin: 0 auto; width: 100%; } /* 内层容器 - 横向铺满父级,适配不同屏幕 */ .carousel-container { position: relative; width: 100%; padding: 0 40px; text-align: center; z-index: 2; /* height: 1120px; */ } .section-title { font-size: 24px; font-weight: 600; color: #333; /* margin-bottom: 40px; */ display: inline-block; /* border-bottom: 2px solid #333; */ /* padding-bottom: 8px; */ } /* 轮播包裹层 */ .carousel-wrapper { max-width: 1570px; margin: 12px auto 0; position: relative; width: 100%; height: var(--carousel-wrap-height); overflow: visible; } /* 轮播列表 */ .carousel-list { position: relative; width: 100%; height: 100%; display: flex; justify-content: center; align-items: center; } /* 轮播项 - 基础样式(关键:初始位置居中,通过transform位移) */ .carousel-item { position: absolute; width: 300px; height: 420px; left: 50%; top: var(--carousel-top); transform: translate(calc(-50% + var(--carousel-offset, 0px)), 0) scale(var(--carousel-scale, 0.6)); transition: transform 0.6s ease, opacity 0.6s ease, filter 0.6s ease, box-shadow 0.6s ease; opacity: var(--carousel-opacity, 0); z-index: var(--carousel-z, 1); pointer-events: none; border-radius: 10px; overflow: hidden; background: #fff; box-shadow: 0 12px 28px rgba(0, 0, 0, 0.18); filter: var(--carousel-filter, grayscale(0.4) brightness(0.9)); } .carousel-item.is-clickable[data-pos="0"] { cursor: pointer; } /* 激活项(中间) */ .carousel-item[data-pos="0"] { --carousel-offset: 0px; --carousel-scale: 1; --carousel-opacity: 1; --carousel-z: 10; --carousel-filter: none; pointer-events: auto; box-shadow: 0 18px 40px rgba(0, 0, 0, 0.28); } /* 左侧1位 */ .carousel-item[data-pos="-1"] { --carousel-offset: calc(var(--carousel-step-1) * -1); --carousel-scale: 0.86; --carousel-opacity: 1; --carousel-z: 6; --carousel-filter: grayscale(0.2) brightness(0.95); } /* 右侧1位 */ .carousel-item[data-pos="1"] { --carousel-offset: var(--carousel-step-1); --carousel-scale: 0.86; --carousel-opacity: 1; --carousel-z: 6; --carousel-filter: grayscale(0.2) brightness(0.95); } /* 左侧2位 */ .carousel-item[data-pos="-2"] { --carousel-offset: calc(var(--carousel-step-2) * -1); --carousel-scale: 0.76; --carousel-opacity: 1; --carousel-z: 3; --carousel-filter: grayscale(0.4) brightness(0.9); } /* 右侧2位 */ .carousel-item[data-pos="2"] { --carousel-offset: var(--carousel-step-2); --carousel-scale: 0.76; --carousel-opacity: 1; --carousel-z: 3; --carousel-filter: grayscale(0.4) brightness(0.9); } .carousel-item[data-pos="off"] { --carousel-opacity: 0; --carousel-scale: 0.6; --carousel-z: 1; --carousel-filter: grayscale(0.5) brightness(0.85); } /* 轮播项封面 */ .item-cover { position: absolute; inset: 0; background-size: cover; background-position: center; background-repeat: no-repeat; } /* 轮播项信息 */ .item-info { position: absolute; left: 0; bottom: 0; width: 100%; padding: 38px 16px 16px; background: linear-gradient(180deg, rgba(0, 0, 0, 0) 0%, rgba(0, 0, 0, 1) 90%, rgba(0, 0, 0, 0.85) 100%); color: #fff; text-align: center; z-index: 2; } .item-title { font-size: 22px; color: #fff; margin-bottom: 6px; text-shadow: 0 2px 6px rgba(0, 0, 0, 0.35); } .item-desc { font-size: 22px; font-weight: 600; color: rgba(255, 255, 255, 0.85); text-shadow: 0 1px 4px rgba(0, 0, 0, 0.3); } /* 轮播箭头按钮 */ .carousel-arrow { position: absolute; top: calc(var(--carousel-top) + var(--carousel-card-half)); transform: translateY(-50%); width: 48px; height: 48px; border-radius: 50%; background: rgba(0, 0, 0, 0.45); border: 1px solid rgba(255, 255, 255, 0.28); cursor: pointer; color: inherit; z-index: 20; transition: all 0.3s ease; box-shadow: none; font-size: 0; line-height: 1; padding: 0; } .carousel-arrow i { display: none; } .carousel-arrow::before { content: ''; display: block; width: 12px; height: 12px; position: absolute; top: 50%; left: 50%; border-top: 2px solid #fff; border-right: 2px solid #fff; } .carousel-arrow:hover { background: rgba(230, 0, 18, 0.88); color: inherit; opacity: 0.92; } .carousel-arrow:disabled { opacity: 0.35; cursor: not-allowed; pointer-events: none; } .carousel-prev { left: 0; } .carousel-prev::before { transform: translate(-35%, -50%) rotate(-135deg); } .carousel-next { right: 0; } .carousel-next::before { transform: translate(-65%, -50%) rotate(45deg); } /* 轮播描述文本 */ .carousel-desc { max-width: 900px; margin: calc(var(--carousel-top) + var(--carousel-card-height) + var(--carousel-desc-gap) - var(--carousel-wrap-height)) auto 16px; font-size: 14px; line-height: 1.8; color: #333; text-align: center; margin-top: 10px; } .carousel-desc p { margin-bottom: 12px; } .carousel-tabs { position: relative; margin: 14px auto 8px; max-width: 700px; --carousel-tabs-dot-size: 10px; --carousel-tabs-line-height: 1px; --carousel-tabs-active-left: 0px; --carousel-tabs-active-width: 0px; } .carousel-tabs-line { position: absolute; left: 0; right: 0; bottom: calc(var(--carousel-tabs-dot-size) / 2 - var(--carousel-tabs-line-height) / 2); height: var(--carousel-tabs-line-height); background-color: #e5e5e5; z-index: 1; } .carousel-tabs-line::before { content: ''; position: absolute; left: var(--carousel-tabs-active-left); top: 0; width: var(--carousel-tabs-active-width); height: 100%; background-color: #e60012; border-radius: 999px; transition: left 0.3s ease, width 0.3s ease; } .carousel-tabs-list { display: flex; justify-content: space-around; align-items: flex-end; position: relative; z-index: 2; width: 100%; } .carousel-tab { display: flex; flex-direction: column; align-items: center; padding: 0; border: 0; background: transparent; color: #666; font-size: 14px; line-height: 1.2; text-align: center; cursor: pointer; transition: color 0.25s ease; } .carousel-tab-label { margin-bottom: 8px; white-space: nowrap; } .carousel-tab-dot { width: var(--carousel-tabs-dot-size); height: var(--carousel-tabs-dot-size); border-radius: 50%; background-color: #e5e5e5; transition: background-color 0.25s ease; } .carousel-tab:hover { color: #e60012; } .carousel-tab:hover .carousel-tab-dot, .carousel-tab.active .carousel-tab-dot { background-color: #e60012; } .carousel-tab.active .carousel-tab-label { color: #e60012; font-weight: 600; } /* 卡车图片行 */ .truck-row { display: flex; justify-content: center; align-items: center; gap: 16px; flex-wrap: wrap; } .truck-row img { width: 120px; height: auto; object-fit: contain; } .cuxiao_tit { margin-bottom: 30px; width: 100%; display: block; } .cuxiao_tit .h4,.cuxiao_tit h4{ padding: 10px 0; border-bottom: 3px solid #e60012; } .sp_tit{ margin-bottom: 70px; } /* ========== 移动端适配 ========== */ @media (max-width: 768px) { /* 整体模块高度适配 */ .bottom-carousel { min-height: auto; padding: 20px 0 calc(16px + var(--carousel-bg-extra)); --carousel-card-height: 240px; --carousel-wrap-height: 300px; --carousel-step-1: 185px; --carousel-step-2: 345px; --carousel-top: 20px; --carousel-desc-gap: 16px; --carousel-bg-extra: 0px; } .carousel-bg-img { margin-top: -50%; } /* 内边距缩小 */ .carousel-container { padding: 0 10px; /* height: 650px; */ } /* 标题字号缩小 */ .section-title { font-size: 20px; margin-bottom: 25px; } /* 轮播包裹层高度适配 */ /* 轮播项尺寸适配 */ .carousel-item { width: 170px; height: 240px; } /* 移动端位移适配 */ /* 箭头按钮尺寸缩小 */ .carousel-arrow { width: 32px; height: 32px; font-size: 0; } .carousel-arrow::before { width: 9px; height: 9px; } .carousel-prev { left: 4px; } .carousel-next { right: 4px; } /* 描述文本字号缩小 */ .carousel-desc { font-size: 13px; max-width: 100%; margin-bottom: 10px; } .carousel-tabs { margin: 10px auto 6px; --carousel-tabs-dot-size: 9px; } .carousel-tab { font-size: 12px; } .carousel-tab-label { margin-bottom: 6px; } /* 卡车图片尺寸适配 */ .truck-row img { width: 80px; } /* 卡车图片间距缩小 */ .truck-row { gap: 10px; } /* 轮播项信息文字适配 */ .item-title { font-size: 14px; } .item-desc { font-size: 12px; } .cuxiao_tit { margin-bottom: 25px; } } @media (max-width: 480px) { /* .carousel-bg-img { margin-top: -22%; } */ } /* 平板适配(768px-1024px) */ @media (min-width: 769px) and (max-width: 1024px) { /* .carousel-bg-img { margin-top: -38%; } */ .carousel-item { width: 220px; height: 310px; } .bottom-carousel { --carousel-card-height: 310px; --carousel-wrap-height: 360px; --carousel-step-1: 240px; --carousel-step-2: 450px; --carousel-top: 32px; --carousel-desc-gap: 20px; --carousel-bg-extra: 0px; } /* 平板位移适配 */ }