You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何解决垂直方向Swiper不设置固定高度时出现无限高度的问题

解决方案

你要的效果可以通过开启Swiper内置的autoHeight配置实现,配合少量CSS调整即可,你原有代码里的allowTouchMove: false已经满足禁止触摸/鼠标滑动切换的需求,无需额外修改。

1. JS配置修改

在Swiper初始化参数中新增autoHeight: true,开启容器高度自动适配当前slide的能力:

var swiper = new Swiper(".mySwiper", {
    direction: "vertical",
    speed: 600,
    allowTouchMove: false,
    autoHeight: true, // 新增这一行开启高度自适应
    pagination: {
        el: ".swiper-pagination",
        clickable: true,
    },
});

2. CSS调整

删除Swiper容器的固定高度限制,同时将slide的高度设置为auto,取消默认的100%高度继承:

/* 去掉原有重复的.swiper样式,合并为以下内容 */
.swiper {
    width: 100%;
    max-height: 500px; /* 你原来的最大高度限制可以保留 */
}

.swiper-slide {
    height: auto; /* 新增这一行,让slide高度适配自身内容 */
    text-align: center;
    font-size: 18px;
    /* 原有flex布局的代码保留即可 */
    display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    -webkit-align-items: center;
    align-items: center;
}

效果说明

配置完成后,Swiper容器会在初始化、分页切换时自动读取当前激活slide的内容高度,动态调整容器高度,不会出现无限高度的问题,同时只能通过点击分页器切换,无法手动滑动。

内容的提问来源于stack exchange,提问作者h.m.p.frontendDeveloper

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 04:48:02