html - Swiper JS轮播不适合Bootstrap 4 col
问题描述
我正在尝试将Swiper JS
轮播放在col
具有 Bootstrap 4 类的 div 内,但我的轮播不会留在col
div 内。为了说明,这是我试图实现的布局:
但是由于某些奇怪的原因,当我将轮播代码放在第二个col
div 中时,我的页面最终变成了这样:
使用该Inspect Element
工具弄乱轮播属性,我发现导致这是该属性display: flex
的原因swiper-wrapper
,我仍然无法弄清楚如何使轮播很好地适合我的第二个col
div。
我已经尝试将其封装swiper-container
在另一个 div 中,设置max-width: 100%
但min-width: 100%
似乎没有任何效果,就像类的display: flex
属性与div 的属性row
冲突一样。display: flex
swiper-wrapper
这是这部分布局的代码:
HTML
<div id="myaboutdiv" class="row">
<div class="col topic">
<p>TEXT</p>
</div>
<div class="col mt-5">
<p class="text-left whoami"><i>This is some text</i></p>
<p class="text-justify">
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Praesent lorem purus, venenatis vel magna et, consectetur cursus libero. In augue est, iaculis sit amet faucibus ut, condimentum vitae ante. Donec et leo eu dolor suscipit viverra at et mauris. Quisque dapibus leo at ipsum elementum, sit amet interdum sapien ornare. Integer justo lorem, porttitor in gravida in, porttitor at tellus. Sed aliquet malesuada luctus. Duis ac nisl vitae nibh mattis luctus eget a ex.
</p>
<br>
<p class="text-left whoami"><i>Here's the Swiper Carousel</i></p>
<div class="swiper-container" id="academichistory">
<div class="swiper-wrapper">
<div class="swiper-slide">Slide 1</div>
<div class="swiper-slide">Slide 2</div>
<div class="swiper-slide">Slide 3</div>
<div class="swiper-slide">Slide 4</div>
<div class="swiper-slide">Slide 5</div>
<div class="swiper-slide">Slide 6</div>
<div class="swiper-slide">Slide 7</div>
<div class="swiper-slide">Slide 8</div>
<div class="swiper-slide">Slide 9</div>
<div class="swiper-slide">Slide 10</div>
</div>
<div class="swiper-pagination"></div>
<div class="swiper-button-next"></div>
<div class="swiper-button-prev"></div>
</div>
</div>
</div>
CSS
.topic {
font-weight: bold;
font-size: 2.5rem;
}
.whoami {
color: grey;
font-weight: 500;
}
最后,这里有一些截图:
swiper-wrapper
与display: flex
:
swiper-wrapper
没有display: flex
属性:
我正在使用:
Swiper v5.3.6 和 Bootstrap 4。
为了以防万一,这里是初始化 Swiper 轮播的 JS 代码:
JavaScript
var swiper = new Swiper('#academichistory', {
loop: true,
pagination: {
el: '.swiper-pagination',
type: 'progressbar',
},
navigation: {
nextEl: '.swiper-button-next',
prevEl: '.swiper-button-prev',
},
});
解决方案
您可以使用绝对定位来解决它。
既然.swiper-container
已经有了position: relative
,就可以添加position: absolute
了.swiper-wrapper
。此外,使用left: 0
和定位它top: 0
。
最后,绝对定位的 swipper 需要一个明确的高度,所以在.swiper-container
.
.swiper-container {
height: 270px;
}
.swiper-wrapper {
position: absolute;
left: 0;
top: 0;
}
推荐阅读
- c - 如何使用滚动条在 GTK3 区域中绘制
- c - 您可以在 Arduino IDE 中打开和编辑 .c 文件吗?然后将它们加载到 Arduino 板上
- javascript - 如何使用 getJSON 填充下拉选择元素
- amazon-web-services - Do I have to use AppSync for apollo graphql in lambda?
- git - 并非所有工作空间中的项目都会在 GIT 中记录更改
- linux - 如何使用 GStreamer 从 IP RTMP 摄像机流式传输到 v4l2loopback 摄像机?
- php - 使用 PHP 从 MySql 获取具有给定 ID 的特定行
- flutter - 使用默认值初始化类参数
- php - PHP:计数和求和关联数组
- python - 如何递归地遍历 xml 文件并访问子节点/元素并使用 Python 存储它们的数据?