【发布时间】:2019-12-02 00:30:11
【问题描述】:
我获取了 bootstrap 4 carousel 的代码,然后将其拆分为 2 个 cols,我这样做是因为我需要 carousel 指示器位于其他位置而不是 carousel 内部(默认情况下)。
这里的问题是轮播运行良好(至少在更改图像的部分)它只是“活动”类,不会更改为任何其他 li 项目。
HTML
<div class="row mx-0">
<div class="col-lg-3 col-md-3 col-sm-12 px-5">
<h2 class="primary-color text-center text-uppercase" id="nombre-caso">Name Image</h2>
<h3 id="descripcion-caso" class="primary-color text-center">Description Image</h3>
</div>
<div class="col-lg-1 col-md-1 col-sm-12">
<ol class="list-unstyled d-lg-block d-md-block d-flex" id="carousel-indicators">
<li data-target="#myCarousel" data-slide-to="0" class="active" style="margin-top:0;">
<i class="fas fa-circle"></i>
</li>
<li data-target="#myCarousel" data-slide-to="1">
<i class="fas fa-circle"></i>
</li>
<li data-target="#myCarousel" data-slide-to="2">
<i class="fas fa-circle"></i>
</li>
<li data-target="#myCarousel" data-slide-to="3">
<i class="fas fa-circle"></i>
</li>
<li data-target="#myCarousel" data-slide-to="4">
<i class="fas fa-circle"></i>
</li>
<li data-target="#myCarousel" data-slide-to="5">
<i class="fas fa-circle"></i>
</li>
<li data-target="#myCarousel" data-slide-to="6">
<i class="fas fa-circle"></i>
</li>
<li data-target="#myCarousel" data-slide-to="7">
<i class="fas fa-circle"></i>
</li>
<li data-target="#myCarousel" data-slide-to="8">
<i class="fas fa-circle"></i>
</li>
<li data-target="#myCarousel" data-slide-to="9">
<i class="fas fa-circle"></i>
</li>
</ol>
</div>
<div class="col-lg-8 col-md-8 col-sm-12 px-0">
<div class="slide-wrapper">
<div class="container" id="carousel-container">
<div id="myCarousel" class="carousel slide" data-ride="carousel">
<!-- Wrapper for slides -->
<div class="carousel-inner">
<div class="carousel-item active">
<div class="fill" style="background-image: url(img/casos-exito/cob_galeria_01_harley.jpg)"></div>
</div>
<div class="carousel-item">
<div class="fill" style="background-image: url(img/casos-exito/cob_galeria_02_freightliner.jpg)"></div>
</div>
<div class="carousel-item">
<div class="fill" style="background-image: url(img/casos-exito/cob_galeria_03_loarca.jpg)"></div>
</div>
<div class="carousel-item">
<div class="fill" style="background-image: url(img/casos-exito/cob_galeria_04_automotriz_bajio.jpg)"></div>
</div>
<div class="carousel-item">
<div class="fill" style="background-image: url(img/casos-exito/cob_galeria_05_almacenes.jpg)"></div>
</div>
<div class="carousel-item">
<div class="fill" style="background-image: url(img/casos-exito/cob_galeria_06_bodegas_industriales.jpg)"></div>
</div>
<div class="carousel-item">
<div class="fill" style="background-image: url(img/casos-exito/cob_galeria_07_residencial_queretaro.jpg)"></div>
</div>
<div class="carousel-item">
<div class="fill" style="background-image: url(img/casos-exito/cob_galeria_08_secundaria_ignacio_altamirano.jpg)"></div>
</div>
<div class="carousel-item">
<div class="fill" style="background-image: url(img/casos-exito/cob_galeria_09_oficinas_icsi.jpg)"></div>
</div>
<div class="carousel-item">
<div class="fill" style="background-image: url(img/casos-exito/cob_galeria_10_casa_zibata.jpg)"></div>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
CSS
.carousel-inner,.carousel,.carousel-item,.container#carousel-container,.fill {
height:100%;
min-height:700px;
width:100%;
background-position:center center;
background-size:cover;
}
.slide-wrapper{display:inline;}
.slide-wrapper .container{padding:0;}
/*------------------------------ vertical bootstrap slider----------------------------*/
.carousel-inner> .carousel-item.carousel-item-next ,
.carousel-inner > .carousel-item.active.carousel-item-right{
transform: translate3d(0, 100%, 0); -webkit-transform: translate3d(0, 100%, 0); -ms-transform: translate3d(0, 100%, 0); -moz-transform: translate3d(0, 100%, 0); -o-transform: translate3d(0, 100%, 0); top: 0;
}
.carousel-inner > .carousel-item.carousel-item-prev ,
.carousel-inner > .carousel-item.active.carousel-item-left{
transform: translate3d(0,-100%, 0); -webkit-transform: translate3d(0,-100%, 0); -moz-transform: translate3d(0,-100%, 0);-ms-transform: translate3d(0,-100%, 0); -o-transform: translate3d(0,-100%, 0); top: 0;
}
.carousel-inner > .carousel-item.next.carousel-item-left ,
.carousel-inner > .carousel-item.carousel-item-prev.carousel-item-right ,
.carousel-inner > .carousel-item.active{
transform:translate3d(0,0,0); -webkit-transform:translate3d(0,0,0);-ms-transform:translate3d(0,0,0);; -moz-transform:translate3d(0,0,0); -o-transform:translate3d(0,0,0); top:0;
}
/*------------------------------- vertical carousel indicators ------------------------------*/
#carousel-indicators li{
margin: 35px 0;
color: gray;
}
#carousel-indicators li.active i{
color: var(--primaryColor);
}
我只想更改活动点的颜色,以在我的页面上显示一些良好的用户体验。
【问题讨论】:
-
您可能必须使用 javascript 来执行此操作。您需要自己处理切换活动类。您可以使用Bootstrap slide event 添加代码以切换类
标签: html css web bootstrap-4 carousel