修复bug
All checks were successful
Gitea Actions Official-website / deploy-dev (push) Successful in 5s
All checks were successful
Gitea Actions Official-website / deploy-dev (push) Successful in 5s
This commit is contained in:
@@ -486,6 +486,7 @@
|
|||||||
); // passive: false 必须,否则 preventDefault 无效
|
); // passive: false 必须,否则 preventDefault 无效
|
||||||
|
|
||||||
const allVideos = document.querySelectorAll('.right-video');
|
const allVideos = document.querySelectorAll('.right-video');
|
||||||
|
let scrollTimer = null; // 防抖定时器
|
||||||
// 停止所有视频播放
|
// 停止所有视频播放
|
||||||
function stopAllVideos() {
|
function stopAllVideos() {
|
||||||
allVideos.forEach((video) => {
|
allVideos.forEach((video) => {
|
||||||
@@ -496,18 +497,18 @@
|
|||||||
if (img) img.style.display = 'block';
|
if (img) img.style.display = 'block';
|
||||||
});
|
});
|
||||||
}
|
}
|
||||||
|
// 处理视频/图片切换的核心逻辑(抽离为独立函数)
|
||||||
// 滚动切换图片/视频(核心逻辑)
|
// 处理视频/图片切换的核心逻辑(抽离为独立函数)
|
||||||
window.addEventListener('scroll', function () {
|
function handleVideoActive() {
|
||||||
const productRights = document.querySelectorAll('.product-right');
|
const productRights = document.querySelectorAll('.product-right');
|
||||||
let activeVideo = null;
|
let activeVideo = null;
|
||||||
// 找出当前在视口中的视频容器
|
// 找出当前在视口中的视频容器
|
||||||
productRights.forEach((rightContainer) => {
|
productRights.forEach((rightContainer) => {
|
||||||
const img = rightContainer.querySelector('.right-img');
|
const img = rightContainer.querySelector('.right-img');
|
||||||
const video = rightContainer.querySelector('.right-video');
|
const video = rightContainer.querySelector('.right-video');
|
||||||
const videoSrc = video.src.trim()
|
const videoSrc = video.src.trim();
|
||||||
if (!img || !video) return;
|
if (!img || !video || !videoSrc) return;
|
||||||
if(!videoSrc) return;
|
|
||||||
const rect = rightContainer.getBoundingClientRect();
|
const rect = rightContainer.getBoundingClientRect();
|
||||||
// 视口判断:容器进入视口50%以上视为活跃
|
// 视口判断:容器进入视口50%以上视为活跃
|
||||||
const isInView =
|
const isInView =
|
||||||
@@ -538,7 +539,14 @@
|
|||||||
} else {
|
} else {
|
||||||
stopAllVideos(); // 无活跃视频时停止所有播放
|
stopAllVideos(); // 无活跃视频时停止所有播放
|
||||||
}
|
}
|
||||||
});
|
}
|
||||||
|
// 滚动事件:添加防抖(移动端推荐100-200ms延迟)
|
||||||
|
window.addEventListener('scroll', function () {
|
||||||
|
// 清除上一次的定时器
|
||||||
|
clearTimeout(scrollTimer);
|
||||||
|
// 滚动停止后150ms再执行核心逻辑
|
||||||
|
scrollTimer = setTimeout(handleVideoActive, 150);
|
||||||
|
});
|
||||||
|
|
||||||
|
|
||||||
window.onload = function () {
|
window.onload = function () {
|
||||||
@@ -549,10 +557,10 @@
|
|||||||
|
|
||||||
swiper = new Swiper('.auto-swiper-container', {
|
swiper = new Swiper('.auto-swiper-container', {
|
||||||
autoplay: {
|
autoplay: {
|
||||||
delay: 113000, // 3秒切换
|
delay: 3000, // 3秒切换
|
||||||
disableOnInteraction: false,
|
disableOnInteraction: false,
|
||||||
},
|
},
|
||||||
loop: true,
|
loop: false,
|
||||||
slidesPerView: 1,
|
slidesPerView: 1,
|
||||||
spaceBetween: 0,
|
spaceBetween: 0,
|
||||||
// 启用分页指示标(核心配置)
|
// 启用分页指示标(核心配置)
|
||||||
|
|||||||
@@ -549,10 +549,10 @@
|
|||||||
|
|
||||||
swiper = new Swiper('.auto-swiper-container', {
|
swiper = new Swiper('.auto-swiper-container', {
|
||||||
autoplay: {
|
autoplay: {
|
||||||
delay: 113000, // 3秒切换
|
delay: 3000, // 3秒切换
|
||||||
disableOnInteraction: false,
|
disableOnInteraction: false,
|
||||||
},
|
},
|
||||||
loop: true,
|
loop: false,
|
||||||
slidesPerView: 1,
|
slidesPerView: 1,
|
||||||
spaceBetween: 0,
|
spaceBetween: 0,
|
||||||
// 启用分页指示标(核心配置)
|
// 启用分页指示标(核心配置)
|
||||||
|
|||||||
@@ -2,7 +2,7 @@
|
|||||||
.advantage-section {
|
.advantage-section {
|
||||||
width: 90%;
|
width: 90%;
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
padding: 4rem 0 3rem 0;
|
padding: 2rem 0;
|
||||||
position: relative;
|
position: relative;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
}
|
}
|
||||||
@@ -29,21 +29,30 @@
|
|||||||
padding: 0 0.1rem;
|
padding: 0 0.1rem;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 卡片核心:优化宽高比和尺寸计算 */
|
/* 新增:卡片外层容器(专门控制圆角,避免缩放时丢失) */
|
||||||
.advantage-card {
|
.advantage-card-wrap {
|
||||||
flex: 0 0 calc((100% - 4 * clamp(0.1rem, 0.3vw, 0.8rem)) / 5);
|
flex: 0 0 calc((100% - 4 * clamp(0.1rem, 0.3vw, 0.8rem)) / 5);
|
||||||
min-width: calc((100% - 4 * clamp(0.1rem, 0.3vw, 0.8rem)) / 5);
|
min-width: calc((100% - 4 * clamp(0.1rem, 0.3vw, 0.8rem)) / 5);
|
||||||
max-width: calc((100% - 4 * clamp(0.1rem, 0.3vw, 0.8rem)) / 5);
|
max-width: calc((100% - 4 * clamp(0.1rem, 0.3vw, 0.8rem)) / 5);
|
||||||
border-radius: 0.5rem;
|
border-radius: 0.5rem; /* 外层容器承担圆角 */
|
||||||
overflow: hidden;
|
overflow: hidden; /* 裁剪内部缩放的卡片 */
|
||||||
box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.1);
|
box-shadow: 0 0.125rem 0.5rem rgba(0, 0, 0, 0.1); /* 阴影移到外层,避免缩放时阴影变形 */
|
||||||
transition: transform 0.3s ease;
|
position: relative;
|
||||||
|
z-index: 1;
|
||||||
|
aspect-ratio: 1 / 1.7;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 卡片核心:优化宽高比和尺寸计算 */
|
||||||
|
.advantage-card {
|
||||||
|
width: 100%;
|
||||||
|
height: 100%;
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
position: relative;
|
position: relative;
|
||||||
z-index: 1;
|
z-index: 1;
|
||||||
aspect-ratio: 1 / 1.7;
|
/* 关键修复:添加will-change优化渲染,移除原圆角和阴影(移到外层) */
|
||||||
/* PC端卡片高度略缩短,更紧凑 */
|
will-change: transform; /* 告知浏览器准备变换,避免圆角渲染异常 */
|
||||||
|
transition: transform 0.3s ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
.advantage-card__img {
|
.advantage-card__img {
|
||||||
@@ -101,11 +110,11 @@
|
|||||||
/* 卡片标题右侧箭头:居右显示 */
|
/* 卡片标题右侧箭头:居右显示 */
|
||||||
.card-arrow {
|
.card-arrow {
|
||||||
color: #409eff;
|
color: #409eff;
|
||||||
|
font-size: clamp(0.7rem, 1vw, 1rem);
|
||||||
/* 箭头尺寸跟随标题放大,避免不协调 */
|
/* 箭头尺寸跟随标题放大,避免不协调 */
|
||||||
transition: transform 0.3s ease;
|
transition: transform 0.3s ease;
|
||||||
display: inline-block;
|
display: inline-block;
|
||||||
width: 24px;
|
width: 16px;
|
||||||
/* 箭头宽度同步增加 */
|
/* 箭头宽度同步增加 */
|
||||||
text-align: center;
|
text-align: center;
|
||||||
}
|
}
|
||||||
@@ -119,7 +128,7 @@
|
|||||||
.advantage-card__description {
|
.advantage-card__description {
|
||||||
font-size: clamp(0.6rem, 0.9vw, 0.9rem);
|
font-size: clamp(0.6rem, 0.9vw, 0.9rem);
|
||||||
/* PC端描述文字略放大 */
|
/* PC端描述文字略放大 */
|
||||||
color: #78787a;
|
color: #666;
|
||||||
line-height: 1.2;
|
line-height: 1.2;
|
||||||
/* PC端行高略紧凑 */
|
/* PC端行高略紧凑 */
|
||||||
white-space: normal;
|
white-space: normal;
|
||||||
@@ -138,14 +147,18 @@
|
|||||||
justify-content: left;
|
justify-content: left;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 卡片hover效果 */
|
/* 卡片hover效果(仅保留缩放,阴影移到外层) */
|
||||||
.advantage-card:hover {
|
.advantage-card:hover {
|
||||||
transform: scale(1.03);
|
transform: scale(1.03);
|
||||||
/* z-index: 10; */
|
z-index: 10;
|
||||||
/* box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.15); */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 移动端适配 */
|
/* 外层容器hover时增强阴影(更自然的浮起效果) */
|
||||||
|
.advantage-card-wrap:hover {
|
||||||
|
box-shadow: 0 0.25rem 0.75rem rgba(0, 0, 0, 0.15);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 移动端适配 - 核心修改:一行2个,显示2行,隐藏第5个 */
|
||||||
@media (max-width: 767px) {
|
@media (max-width: 767px) {
|
||||||
.advantage-card:active {
|
.advantage-card:active {
|
||||||
transform: scale(1.01);
|
transform: scale(1.01);
|
||||||
@@ -157,12 +170,24 @@
|
|||||||
}
|
}
|
||||||
|
|
||||||
.advantage-section__list {
|
.advantage-section__list {
|
||||||
gap: 0.1rem;
|
gap: 0.5rem; /* 优化间距,更美观 */
|
||||||
|
flex-wrap: wrap; /* 允许换行 */
|
||||||
|
overflow: visible; /* 取消溢出隐藏,显示多行 */
|
||||||
|
justify-content: space-between; /* 两端对齐,确保2个卡片均匀分布 */
|
||||||
}
|
}
|
||||||
|
|
||||||
.advantage-card {
|
/* 移动端卡片宽度:一行2个 */
|
||||||
|
.advantage-card-wrap {
|
||||||
|
flex: 0 0 calc(50% - 0.25rem); /* 50%宽度减去一半间距,避免溢出 */
|
||||||
|
min-width: calc(50% - 0.25rem);
|
||||||
|
max-width: calc(50% - 0.25rem);
|
||||||
aspect-ratio: 1 / 1.8;
|
aspect-ratio: 1 / 1.8;
|
||||||
/* 移动端恢复更高的卡片高度 */
|
margin-bottom: 0.5rem; /* 行与行之间的间距 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 隐藏第5个卡片 */
|
||||||
|
.advantage-card-wrap:nth-child(5) {
|
||||||
|
display: none;
|
||||||
}
|
}
|
||||||
|
|
||||||
.advantage-card__img {
|
.advantage-card__img {
|
||||||
@@ -189,8 +214,6 @@
|
|||||||
-webkit-line-clamp: 2;
|
-webkit-line-clamp: 2;
|
||||||
/* 移动端同步添加最小高度 */
|
/* 移动端同步添加最小高度 */
|
||||||
min-height: calc(clamp(0.5rem, 0.8vw, 0.8rem) * 2 * 1.5);
|
min-height: calc(clamp(0.5rem, 0.8vw, 0.8rem) * 2 * 1.5);
|
||||||
display: flex;
|
|
||||||
align-items: flex-start;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 移动端箭头和文字尺寸缩小 */
|
/* 移动端箭头和文字尺寸缩小 */
|
||||||
|
|||||||
@@ -62,6 +62,7 @@ a {
|
|||||||
.header {
|
.header {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
|
height: 60px;
|
||||||
}
|
}
|
||||||
.header-img {
|
.header-img {
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
|
|||||||
@@ -13,6 +13,8 @@
|
|||||||
overflow: hidden; /* 阻止蒙版自身滚动 */
|
overflow: hidden; /* 阻止蒙版自身滚动 */
|
||||||
touch-action: none; /* 禁止触摸行为 */
|
touch-action: none; /* 禁止触摸行为 */
|
||||||
pointer-events: auto; /* 确保蒙版能接收事件 */
|
pointer-events: auto; /* 确保蒙版能接收事件 */
|
||||||
|
backdrop-filter: blur(8px); /* 模糊半径,可调整(4px-15px为宜) */
|
||||||
|
-webkit-backdrop-filter: blur(8px); /* 兼容Safari */
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 蒙版内容容器 - 新增触摸事件传递控制 */
|
/* 蒙版内容容器 - 新增触摸事件传递控制 */
|
||||||
|
|||||||
@@ -11,7 +11,21 @@
|
|||||||
display: flex;
|
display: flex;
|
||||||
flex-wrap: nowrap;
|
flex-wrap: nowrap;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
padding: 0 clamp(0.2rem, 0.6vw, 0.3rem);
|
/* 关键修改1:增大间距值(原 clamp(0.3rem, 0.5vw, 0.36rem) → 现在放大2倍左右) */
|
||||||
|
gap: clamp(0.6rem, 1vw, 0.8rem);
|
||||||
|
padding: 0; /* 保持无内边距,避免间距叠加 */
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 新增:外层容器(承载圆角、阴影、尺寸,避免缩放时圆角丢失) */
|
||||||
|
.product-card-wrap {
|
||||||
|
/* 原卡片的宽度计算逻辑移到外层 */
|
||||||
|
width: calc(25% - (clamp(0.6rem, 1vw, 0.8rem) * 3 / 4));
|
||||||
|
flex: none;
|
||||||
|
border-radius: clamp(0.375rem, 1vw, 0.5rem); /* 外层承载圆角 */
|
||||||
|
overflow: hidden; /* 裁剪内层缩放的卡片 */
|
||||||
|
box-shadow: 0 clamp(0.1rem, 0.2vw, 0.125rem) clamp(0.3rem, 0.8vw, 0.5rem) rgba(0, 0, 0, 0.05); /* 外层承载阴影 */
|
||||||
|
position: relative;
|
||||||
|
z-index: 1;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ######################################################################### */
|
/* ######################################################################### */
|
||||||
@@ -23,20 +37,22 @@
|
|||||||
align-items: stretch;
|
align-items: stretch;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 卡片核心:移动端固定宽高比 */
|
/* 外层容器移动端适配:宽高比移到外层 */
|
||||||
|
.product-card-wrap {
|
||||||
|
aspect-ratio: 3 / 4.2;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 卡片核心:移动端调整(移除圆角、阴影,添加will-change) */
|
||||||
.product-card {
|
.product-card {
|
||||||
background: rgb(242, 243, 245);
|
background: rgb(242, 243, 245);
|
||||||
border-radius: clamp(0.375rem, 1vw, 0.5rem);
|
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
width: calc(25% - clamp(0.3rem, 0.5vw, 0.36rem));
|
width: 100%; /* 内层卡片占满外层容器 */
|
||||||
|
height: 100%;
|
||||||
flex: none;
|
flex: none;
|
||||||
box-shadow: 0 clamp(0.1rem, 0.2vw, 0.125rem)
|
margin: 0; /* 保持无margin,间距由gap控制 */
|
||||||
clamp(0.3rem, 0.8vw, 0.5rem) rgba(0, 0, 0, 0.05);
|
|
||||||
margin: 0 clamp(0.16rem, 0.24vw, 0.2rem);
|
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
aspect-ratio: 3 / 4.2;
|
will-change: transform; /* 优化渲染,避免圆角异常 */
|
||||||
/* 移动端固定宽高比 */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 卡片hover效果:移动端特有 */
|
/* 卡片hover效果:移动端特有 */
|
||||||
@@ -45,59 +61,51 @@
|
|||||||
transition: transform 0.3s ease;
|
transition: transform 0.3s ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 图片容器:用视口单位固定高度,彻底不受图片影响 */
|
/* 外层容器hover增强阴影(更自然的浮起效果) */
|
||||||
|
.product-card-wrap:hover {
|
||||||
|
box-shadow: 0 clamp(0.2rem, 0.4vw, 0.25rem) clamp(0.5rem, 1vw, 0.8rem) rgba(0, 0, 0, 0.08);
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 图片容器:移动端固定占比 */
|
||||||
.product-card-img {
|
.product-card-img {
|
||||||
display: flex;
|
display: flex;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
/* 关键:用vw固定高度,基于屏幕宽度计算,和图片本身尺寸无关 */
|
flex: 0 0 72%;
|
||||||
height: clamp(8rem, 28vw, 12rem); /* 移动端适配:小屏8rem,大屏12rem,中间按28vw缩放 */
|
|
||||||
margin-bottom: clamp(0.4rem, 0.6vw, 0.5rem);
|
margin-bottom: clamp(0.4rem, 0.6vw, 0.5rem);
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
border-radius: clamp(0.2rem, 0.4vw, 0.25rem);
|
border-radius: clamp(0.2rem, 0.4vw, 0.25rem);
|
||||||
}
|
}
|
||||||
/* 产品图片:强制填充容器,消除尺寸差异 */
|
|
||||||
|
/* 产品图片:移动端特有 */
|
||||||
.product-card img {
|
.product-card img {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
object-fit: contain; /* 保留完整图片(如果需要裁剪用cover) */
|
object-fit: contain;
|
||||||
object-position: center;
|
object-position: center;
|
||||||
/* 强制图片适应容器,不管原图尺寸 */
|
|
||||||
min-width: 80%; /* 防止图片过窄(可选,根据需求调整) */
|
|
||||||
max-width: 100%;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 文字容器:移动端固定占比 */
|
/* 文字容器:移动端固定占比 */
|
||||||
/*.product-card-text {*/
|
|
||||||
/* flex: 0 0 20%;*/
|
|
||||||
/* 移动端文字区占比 */
|
|
||||||
/* display: flex;*/
|
|
||||||
/* flex-direction: column;*/
|
|
||||||
/* justify-content: center;*/
|
|
||||||
/* padding-left: clamp(0.8rem, 2vw, 1.5rem);*/
|
|
||||||
/* padding-right: clamp(0.8rem, 2vw, 1.5rem);*/
|
|
||||||
/*}*/
|
|
||||||
.product-card-text {
|
.product-card-text {
|
||||||
width: 100%;
|
flex: 0 0 20%;
|
||||||
/* 用vw固定文字区域高度,和图片容器高度解耦 */
|
|
||||||
height: clamp(3rem, 10vw, 4.5rem); /* 小屏3rem,大屏4.5rem,中间按10vw缩放 */
|
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: flex-start;
|
justify-content: center;
|
||||||
overflow: hidden; /* 防止文字溢出 */
|
|
||||||
padding-left: clamp(0.8rem, 2vw, 1.5rem);
|
padding-left: clamp(0.8rem, 2vw, 1.5rem);
|
||||||
padding-right: clamp(0.8rem, 2vw, 1.5rem);
|
padding-right: clamp(0.8rem, 2vw, 1.5rem);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 标题样式:移动端特有 */
|
/* 标题样式:移动端特有 */
|
||||||
.product-card-title {
|
.product-card-title {
|
||||||
font-size: clamp(0.75rem, 1.2vw, 0.875rem);
|
font-size: clamp(0.8rem, 1.3vw, 1.2rem);
|
||||||
|
font-weight: 600;
|
||||||
color: #333;
|
color: #333;
|
||||||
margin-bottom: clamp(0.2rem, 0.3vw, 0.25rem);
|
white-space: nowrap;
|
||||||
/* 最多2行,溢出省略(避免文字过多挤压) */
|
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
white-space: nowrap;
|
height: 35%;
|
||||||
|
line-height: 1.2;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 描述样式:移动端固定2行高度 */
|
/* 描述样式:移动端固定2行高度 */
|
||||||
@@ -106,7 +114,6 @@
|
|||||||
color: #656565;
|
color: #656565;
|
||||||
word-break: break-word;
|
word-break: break-word;
|
||||||
height: 65%;
|
height: 65%;
|
||||||
/* 移动端描述固定高度(2行) */
|
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
display: -webkit-box;
|
display: -webkit-box;
|
||||||
-webkit-line-clamp: 2;
|
-webkit-line-clamp: 2;
|
||||||
@@ -120,7 +127,6 @@
|
|||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
flex: 0 0 10%;
|
flex: 0 0 10%;
|
||||||
/* 移动端链接区占比 */
|
|
||||||
padding: clamp(0.8rem, 2vw, 1.5rem);
|
padding: clamp(0.8rem, 2vw, 1.5rem);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -151,23 +157,27 @@
|
|||||||
.product-card-container {
|
.product-card-container {
|
||||||
align-items: stretch;
|
align-items: stretch;
|
||||||
height: clamp(30vw, 35vw, 480px);
|
height: clamp(30vw, 35vw, 480px);
|
||||||
/* PC端容器高度自适应 */
|
/* 关键修改3:PC端同步增大gap间距(与通用容器一致) */
|
||||||
|
gap: clamp(0.6rem, 1vw, 0.8rem);
|
||||||
|
padding: 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 卡片核心:PC端高度自适应 */
|
/* 外层容器PC端适配:高度占满容器 */
|
||||||
|
.product-card-wrap {
|
||||||
|
height: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 卡片核心:PC端调整(移除圆角、阴影,添加will-change) */
|
||||||
.product-card {
|
.product-card {
|
||||||
background: rgb(242, 243, 245);
|
background: rgb(242, 243, 245);
|
||||||
border-radius: clamp(0.375rem, 1vw, 0.5rem);
|
|
||||||
cursor: pointer;
|
cursor: pointer;
|
||||||
width: calc(25% - clamp(0.3rem, 0.5vw, 0.36rem));
|
width: 100%; /* 内层卡片占满外层容器 */
|
||||||
|
height: 100%;
|
||||||
flex: none;
|
flex: none;
|
||||||
box-shadow: 0 clamp(0.1rem, 0.2vw, 0.125rem)
|
margin: 0; /* 保持无margin */
|
||||||
clamp(0.3rem, 0.8vw, 0.5rem) rgba(0, 0, 0, 0.05);
|
|
||||||
margin: 0 clamp(0.16rem, 0.24vw, 0.2rem);
|
|
||||||
display: flex;
|
display: flex;
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
height: 100%;
|
will-change: transform; /* 优化渲染,避免圆角异常 */
|
||||||
/* PC端卡片高度继承父容器 */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 卡片hover效果:PC端特有 */
|
/* 卡片hover效果:PC端特有 */
|
||||||
@@ -176,6 +186,11 @@
|
|||||||
transition: transform 0.3s ease;
|
transition: transform 0.3s ease;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* 外层容器hover增强阴影 */
|
||||||
|
.product-card-wrap:hover {
|
||||||
|
box-shadow: 0 clamp(0.2rem, 0.4vw, 0.25rem) clamp(0.5rem, 1vw, 0.8rem) rgba(0, 0, 0, 0.08);
|
||||||
|
}
|
||||||
|
|
||||||
/* 图片容器:PC端固定占比 */
|
/* 图片容器:PC端固定占比 */
|
||||||
.product-card-img {
|
.product-card-img {
|
||||||
display: flex;
|
display: flex;
|
||||||
@@ -183,7 +198,6 @@
|
|||||||
align-items: center;
|
align-items: center;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
flex: 0 0 72%;
|
flex: 0 0 72%;
|
||||||
/* PC端图片区占比 */
|
|
||||||
margin-bottom: clamp(0.4rem, 0.6vw, 0.5rem);
|
margin-bottom: clamp(0.4rem, 0.6vw, 0.5rem);
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
border-radius: clamp(0.2rem, 0.4vw, 0.25rem);
|
border-radius: clamp(0.2rem, 0.4vw, 0.25rem);
|
||||||
@@ -200,8 +214,7 @@
|
|||||||
/* 文字容器:PC端固定占比 */
|
/* 文字容器:PC端固定占比 */
|
||||||
.product-card-text {
|
.product-card-text {
|
||||||
flex: 0 0 15%;
|
flex: 0 0 15%;
|
||||||
/* PC端文字区占比 */
|
display: flex; /* 补充display: flex,原代码遗漏 */
|
||||||
/* display: flex; */
|
|
||||||
flex-direction: column;
|
flex-direction: column;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
padding-left: clamp(0.8rem, 2vw, 1.5rem);
|
padding-left: clamp(0.8rem, 2vw, 1.5rem);
|
||||||
@@ -216,8 +229,6 @@
|
|||||||
white-space: nowrap;
|
white-space: nowrap;
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
text-overflow: ellipsis;
|
text-overflow: ellipsis;
|
||||||
/* height: 35%; */
|
|
||||||
/* PC端标题固定高度 */
|
|
||||||
line-height: 1.2;
|
line-height: 1.2;
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
@@ -228,8 +239,6 @@
|
|||||||
font-size: clamp(0.7rem, 1.1vw, 0.9rem);
|
font-size: clamp(0.7rem, 1.1vw, 0.9rem);
|
||||||
color: #656565;
|
color: #656565;
|
||||||
word-break: break-word;
|
word-break: break-word;
|
||||||
/* height: 65%; */
|
|
||||||
/* PC端描述固定高度(2行) */
|
|
||||||
overflow: hidden;
|
overflow: hidden;
|
||||||
display: -webkit-box;
|
display: -webkit-box;
|
||||||
-webkit-line-clamp: 2;
|
-webkit-line-clamp: 2;
|
||||||
@@ -240,11 +249,10 @@
|
|||||||
/* 链接图标容器:PC端固定占比 */
|
/* 链接图标容器:PC端固定占比 */
|
||||||
.product-card-link {
|
.product-card-link {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
/* display: flex; */
|
|
||||||
/* align-items: center; */
|
|
||||||
flex: 0 0 12%;
|
flex: 0 0 12%;
|
||||||
/* PC端链接区占比 */
|
|
||||||
padding-left: clamp(0.8rem, 2vw, 1.5rem);
|
padding-left: clamp(0.8rem, 2vw, 1.5rem);
|
||||||
|
display: flex; /* 补充display: flex,确保图标垂直居中 */
|
||||||
|
align-items: center;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 链接图标:PC端特有 */
|
/* 链接图标:PC端特有 */
|
||||||
|
|||||||
@@ -1,29 +1,76 @@
|
|||||||
|
.swiper-container {
|
||||||
|
padding: 0 !important;
|
||||||
|
}
|
||||||
/* 轮播容器 - 核心:基于视口高度自适应 */
|
/* 轮播容器 - 核心:基于视口高度自适应 */
|
||||||
.auto-swiper-container {
|
.auto-swiper-container {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
/* 关键:高度 = 视口高度的百分比(可调整,如60vh=屏幕高度60%) */
|
/* 关键:高度 = 视口高度的百分比(可调整,如60vh=屏幕高度60%) */
|
||||||
height: 60vh;
|
|
||||||
max-height: 800px; /* 限制最大高度(避免大屏过高) */
|
|
||||||
min-height: 300px; /* 限制最小高度(避免小屏过低) */
|
|
||||||
overflow: hidden;
|
|
||||||
margin-bottom: 5.625rem;
|
margin-bottom: 5.625rem;
|
||||||
}
|
max-height: 900px;
|
||||||
|
min-height: 300px;
|
||||||
|
position: relative;
|
||||||
|
margin-top:60px;
|
||||||
|
|
||||||
|
}
|
||||||
/* 轮播项 - 填充容器高度 */
|
/* 轮播项 - 填充容器高度 */
|
||||||
.auto-swiper-slide {
|
.auto-swiper-slide {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
/*height: 100%;*/
|
||||||
display: flex;
|
display: flex;
|
||||||
align-items: center;
|
align-items: center;
|
||||||
justify-content: center;
|
justify-content: center;
|
||||||
background: #333; /* 图片加载前占位 */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
/* 图片自适应核心:填充屏幕比例高度,保持比例 */
|
/* 图片自适应核心:填充屏幕比例高度,保持比例 */
|
||||||
.auto-swiper-slide img {
|
.auto-swiper-slide img {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
height: 100%;
|
height: 100%;
|
||||||
object-fit: cover; /* 优先填充容器,裁剪超出部分(无拉伸) */
|
object-fit: contain; /* 替换 cover 为 contain,完整显示图片 */
|
||||||
/* object-fit: contain; 可选:完整显示图片,不裁剪(可能留黑边) */
|
|
||||||
display: block;
|
display: block;
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* 轮播容器保持相对定位 */
|
||||||
|
.auto-swiper-container {
|
||||||
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 轮播容器保持相对定位 */
|
||||||
|
.auto-swiper-container {
|
||||||
|
position: relative;
|
||||||
|
width: 100%;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 指示标容器:居中排列 */
|
||||||
|
.swiper-pagination {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 10%; /* 距离底部的距离,可调整 */
|
||||||
|
left: 50%;
|
||||||
|
transform: translateX(-50%);
|
||||||
|
/* width:100%;
|
||||||
|
display: flex; */
|
||||||
|
/* justify-content: center; */
|
||||||
|
z-index: 10;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 激活状态:白色长条 */
|
||||||
|
.swiper-pagination-bullet-active {
|
||||||
|
background:#fff !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
/* 未激活状态:黑色透明圆点(可调整透明度) */
|
||||||
|
.swiper-pagination-bullet {
|
||||||
|
display: inline-block;
|
||||||
|
width: 16px !important;
|
||||||
|
height: 16px !important;
|
||||||
|
border-radius: 8px;
|
||||||
|
/*background: #555;*/
|
||||||
|
margin: 0 5px;
|
||||||
|
/*opacity: 0.8;*/
|
||||||
|
border: 1px solid #fff;
|
||||||
|
/*cursor: pointer;*/
|
||||||
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -63,6 +63,7 @@ a {
|
|||||||
.header {
|
.header {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
background: #fff;
|
background: #fff;
|
||||||
|
height: 60px;
|
||||||
}
|
}
|
||||||
.header-img {
|
.header-img {
|
||||||
margin: 0 auto;
|
margin: 0 auto;
|
||||||
|
|||||||
@@ -55,16 +55,12 @@
|
|||||||
|
|
||||||
.product-img-hover img {
|
.product-img-hover img {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
/*max-width: 340px;*/
|
|
||||||
/* 图片尺寸100%,无区别 */
|
/* 图片尺寸100%,无区别 */
|
||||||
height: auto;
|
height: auto;
|
||||||
/* max-height: 70%; */
|
/* max-height: 70%; */
|
||||||
border-radius: 10px;
|
border-radius: 10px;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/* 第一个产品:悬浮图居中上移(仅定位差异) */
|
/* 第一个产品:悬浮图居中上移(仅定位差异) */
|
||||||
.product-img-1 {
|
.product-img-1 {
|
||||||
top: -10%;
|
top: -10%;
|
||||||
|
|||||||
@@ -1,12 +1,13 @@
|
|||||||
|
|
||||||
/* 轮播容器 - 核心:基于视口高度自适应 */
|
/* 轮播容器 - 核心:基于视口高度自适应 */
|
||||||
.auto-swiper-container {
|
.auto-swiper-container {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
/* 关键:高度 = 视口高度的百分比(可调整,如60vh=屏幕高度60%) */
|
/* 关键:高度 = 视口高度的百分比(可调整,如60vh=屏幕高度60%) */
|
||||||
|
|
||||||
margin-bottom: 5.625rem;
|
margin-bottom: 5.625rem;
|
||||||
max-height: 900px;
|
max-height: 900px;
|
||||||
min-height: 300px;
|
min-height: 300px;
|
||||||
|
position: relative;
|
||||||
|
}
|
||||||
/* 轮播项 - 填充容器高度 */
|
/* 轮播项 - 填充容器高度 */
|
||||||
.auto-swiper-slide {
|
.auto-swiper-slide {
|
||||||
width: 100%;
|
width: 100%;
|
||||||
@@ -24,7 +25,7 @@
|
|||||||
height: 100%;
|
height: 100%;
|
||||||
object-fit: contain; /* 替换 cover 为 contain,完整显示图片 */
|
object-fit: contain; /* 替换 cover 为 contain,完整显示图片 */
|
||||||
display: block;
|
display: block;
|
||||||
background-color: #f5f5f5; /* 图片未填充区域用浅色背景,避免黑边 */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/* 轮播容器保持相对定位 */
|
/* 轮播容器保持相对定位 */
|
||||||
@@ -45,9 +46,9 @@
|
|||||||
bottom: 10%; /* 距离底部的距离,可调整 */
|
bottom: 10%; /* 距离底部的距离,可调整 */
|
||||||
left: 50%;
|
left: 50%;
|
||||||
transform: translateX(-50%);
|
transform: translateX(-50%);
|
||||||
width:100%;
|
/* width:100%;
|
||||||
display: flex;
|
display: flex; */
|
||||||
justify-content: center;
|
/* justify-content: center; */
|
||||||
z-index: 10;
|
z-index: 10;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user