Der folgende Code funktioniert, wenn alle Bilder die gleiche Breite bekam, sonst können Sie das gleiche tun, aber dann müssen Sie komplexere Berechnung pro Folie.
Zuerst gibt jede div.item
drei Bilder (vorherige, aktuelle, nächsten):
<div class="item active">
<img src="http://dummyimage.com/600x400/000/fff" alt="" />
<img src="http://dummyimage.com/600x400/ff0/fff" alt="" />
<img src="http://dummyimage.com/600x400/00ff00/fff" alt="" />
</div>
dann den folgenden Weniger Code verwenden:
@import "bootstrap-3.3.2/less/variables";
@image-width: 600px;
.item img {
max-width:100%;
&:first-child,&:last-child {
display: none;
}
}
/* Small devices (tablets, 768px and up) */
@media (min-width: @screen-sm-min) {
@rest: ((@screen-sm - (2 * @grid-gutter-width)) - @image-width);
.item img {
float:left;
&:first-child,&:last-child {
display: block;
}
width: @image-width;
}
.item.active {
overflow:hidden;
margin: 0 ((@image-width - (@rest/2)) * -1);
}
}
/* Medium devices (desktops, 992px and up) */
@media (min-width: @screen-md-min) {
@rest: ((@screen-md - (2 * @grid-gutter-width)) - @image-width);
.item img {
width: @image-width;
}
.item.active {
margin: 0 ((@image-width - (@rest/2)) * -1);
}
}
/* Large devices (large desktops, 1200px and up) */
@media (min-width: @screen-lg-min) {
@rest: ((@screen-lg - (2 * @grid-gutter-width)) - @image-width);
.item img {
width: @image-width;
}
.item.active {
margin: 0 ((@image-width - (@rest/2)) * -1);
}
}
In der oben genannten @image-width
auf die Breite des Schiebers Bilder. Der vorhergehende Weniger Code kompiliert in den folgenden CSS-Code:
.item img {
max-width: 100%;
}
.item img:first-child,
.item img:last-child {
display: none;
}
/* Small devices (tablets, 768px and up) */
@media (min-width: 768px) {
.item img {
float: left;
width: 600px;
}
.item img:first-child,
.item img:last-child {
display: block;
}
.item.active {
overflow: hidden;
margin: 0 -546px;
}
}
/* Medium devices (desktops, 992px and up) */
@media (min-width: 992px) {
.item img {
width: 600px;
}
.item.active {
margin: 0 -434px;
}
}
/* Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
.item img {
width: 600px;
}
.item.active {
margin: 0 -330px;
}
}
Demo:
<link href="//maxcdn.bootstrapcdn.com/bootstrap/3.3.2/css/bootstrap.min.css" rel="stylesheet"/>
<style>
.item img {
max-width: 100%;
}
.item img:first-child,
.item img:last-child {
display: none;
}
/* Small devices (tablets, 768px and up) */
@media (min-width: 768px) {
.item img {
float: left;
width: 600px;
}
.item img:first-child,
.item img:last-child {
display: block;
}
.item.active {
overflow: hidden;
margin: 0 -546px;
}
}
/* Medium devices (desktops, 992px and up) */
@media (min-width: 992px) {
.item img {
width: 600px;
}
.item.active {
margin: 0 -434px;
}
}
/* Large devices (large desktops, 1200px and up) */
@media (min-width: 1200px) {
.item img {
width: 600px;
}
.item.active {
margin: 0 -330px;
}
</style>
<div class="container"> \t
<div id="carousel-example-generic" class="carousel slide" data-ride="carousel">
<ol class="carousel-indicators">
<li data-target="#carousel-example-generic" data-slide-to="0" class="active"></li>
<li class="" data-target="#carousel-example-generic" data-slide-to="1"></li>
<li class="" data-target="#carousel-example-generic" data-slide-to="2"></li>
</ol>
<div class="carousel-inner" role="listbox">
<div class="item active">
\t \t \t <img src="http://dummyimage.com/600x400/000/fff" alt="" />
\t \t \t <img src="http://dummyimage.com/600x400/ff0/fff" alt="" />
\t \t \t <img src="http://dummyimage.com/600x400/00ff00/fff" alt="" />
</div>
<div class="item"> \t \t
\t \t \t <img src="http://dummyimage.com/600x400/ff0/fff" alt="" />
\t \t \t <img src="http://dummyimage.com/600x400/00ff00/fff" alt="" />
\t \t \t <img src="http://dummyimage.com/600x400/0000ff/fff" alt="" />
</div>
<div class="item">
\t \t \t <img src="http://dummyimage.com/600x400/00ff00/fff" alt="" />
\t \t \t <img src="http://dummyimage.com/600x400/0000ff/fff" alt="" />
\t \t \t <img src="http://dummyimage.com/600x400/000/fff" alt="" />
\t \t \t </div>
<div class="item">
\t \t \t <img src="http://dummyimage.com/600x400/0000ff/fff" alt="" />
\t \t \t <img src="http://dummyimage.com/600x400/000/fff" alt="" />
\t \t \t <img src="http://dummyimage.com/600x400/ff0/fff" alt="" />
</div>
</div>
<a class="left carousel-control" href="#carousel-example-generic" role="button" data-slide="prev">
<span class="glyphicon glyphicon-chevron-left" aria-hidden="true"></span>
<span class="sr-only">Previous</span>
</a>
<a class="right carousel-control" href="#carousel-example-generic" role="button" data-slide="next">
<span class="glyphicon glyphicon-chevron-right" aria-hidden="true"></span>
<span class="sr-only">Next</span>
</a>
</div>
</div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="//maxcdn.bootstrapcdn.com/bootstrap/3.3.2/js/bootstrap.min.js"></script>