J'essaie de configurer le carrousel Twitter Bootstrap avec plusieurs éléments tout en maintenant la réactivité.
J'ai un jsfiddle pour tester setup http://jsfiddle.net/Va8Un/
Ce que je voudrais, c’est d’afficher 4 images, chacune avec une légende pour contenir les titres des éléments, dans un volet carrousel. Elles doivent être redimensionnées pour s’ajuster à l’écran afin de rester sur la même ligne à tout moment. À l'heure actuelle, j'ignore complètement toutes les tentatives d'ajustement de la taille de l'image à l'écran. Je me suis dit que le réglage de img max-width:100%;
ferait l'affaire, mais cela ne semble pas l'avoir. De plus, la 4ème image est poussée vers une deuxième ligne car les images ne sont pas redimensionnées:
N'importe quel moyen de résoudre ce problème avec du CSS pur ou devrais-je rechercher des options autres que Twitter Bootstrap?
Vous pouvez voir le résultat ici: http://jsfiddle.net/Va8Un/embedded/result/
Voici le HTML:
<div class="container">
<div class="carousel slide" id="myCarousel">
<div class="carousel-inner">
<div class="item active">
<ul class="thumbnails span12">
<li>
<div class="caption">
<h5>Caption</h5>
</div>
<div class="thumbnail">
<img src="http://placehold.it/260x180" alt="">
</div>
</li>
<li>
<div class="caption">
<h5>Caption</h5>
</div>
<div class="thumbnail">
<img src="http://placehold.it/260x180" alt="">
</div>
</li>
<li>
<div class="caption">
<h5>Caption</h5>
</div>
<div class="thumbnail">
<img src="http://placehold.it/260x180" alt="">
</div>
</li>
<li>
<div class="caption">
<h5>Caption</h5>
</div>
<div class="thumbnail">
<img src="http://placehold.it/260x180" alt="">
</div>
</li>
</ul>
</div>
<div class="item">
...
</div>
<div class="item">
...
</div>
</div>
<a data-slide="prev" href="#myCarousel" class="left carousel-control">‹</a>
<a data-slide="next" href="#myCarousel" class="right carousel-control">›</a>
</div>
</diV>
Vous pouvez le faire avec la grille de fluide d'amorçage uniquement; il vous suffit de spécifier un conteneur .container-fluid
avec une ligne .row-fluid
et de donner à chacun de vos éléments de liste contenant une image une classe .span*
, dans ce cas 3 (3 * 4 = 12).
.container {
margin-top: 10px;
}
img
{
max-width:100%;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/Twitter-bootstrap/2.1.0/bootstrap.min.js"></script>
<link href="http://getbootstrap.com/2.3.2/assets/css/bootstrap.css" rel="stylesheet" />
<div class="container-fluid">
<div class="row-fluid">
<div class="carousel slide" id="myCarousel">
<div class="carousel-inner">
<div class="item active">
<ul class="thumbnails">
<li class="span3">
<div class="caption">
<h5>Caption</h5>
</div>
<div class="thumbnail">
<img src="http://placehold.it/260x180" alt="">
</div>
</li>
<li class="span3">
<div class="caption">
<h5>Caption</h5>
</div>
<div class="thumbnail">
<img src="http://placehold.it/260x180" alt="">
</div>
</li>
<li class="span3">
<div class="caption">
<h5>Caption</h5>
</div>
<div class="thumbnail">
<img src="http://placehold.it/260x180" alt="">
</div>
</li>
<li class="span3">
<div class="caption">
<h5>Caption</h5>
</div>
<div class="thumbnail">
<img src="http://placehold.it/260x180" alt="">
</div>
</li>
</ul>
</div>
<div class="item">
<ul class="thumbnails">
<li class="span3">
<div class="caption">
<h5>Caption</h5>
</div>
<div class="thumbnail">
<img src="http://placehold.it/260x180" alt="">
</div>
</li>
<li class="span3">
<div class="caption">
<h5>Caption</h5>
</div>
<div class="thumbnail">
<img src="http://placehold.it/260x180" alt="">
</div>
</li>
<li class="span3">
<div class="caption">
<h5>Caption</h5>
</div>
<div class="thumbnail">
<img src="http://placehold.it/260x180" alt="">
</div>
</li>
<li class="span3">
<div class="caption">
<h5>Caption</h5>
</div>
<div class="thumbnail">
<img src="http://placehold.it/260x180" alt="">
</div>
</li>
</ul>
</div>
<div class="item">
<ul class="thumbnails">
<li class="span3">
<div class="caption">
<h5>Caption</h5>
</div>
<div class="thumbnail">
<img src="http://placehold.it/260x180" alt="">
</div>
</li>
<li class="span3">
<div class="caption">
<h5>Caption</h5>
</div>
<div class="thumbnail">
<img src="http://placehold.it/260x180" alt="">
</div>
</li>
<li class="span3">
<div class="caption">
<h5>Caption</h5>
</div>
<div class="thumbnail">
<img src="http://placehold.it/260x180" alt="">
</div>
</li>
<li class="span3">
<div class="caption">
<h5>Caption</h5>
</div>
<div class="thumbnail">
<img src="http://placehold.it/260x180" alt="">
</div>
</li>
</ul>
</div>
</div>
<a data-slide="prev" href="#myCarousel" class="left carousel-control">‹</a>
<a data-slide="next" href="#myCarousel" class="right carousel-control">›</a>
</div>
</div>
</div>
Démo: http://jsfiddle.net/Va8Un/10/
EDIT: voici la démo avec corrections http://jsfiddle.net/Va8Un/550/
Je l'ai fait de cette façon en utilisant Twitter Bootstrap:
<!-- Images Thumbnails -->
<div style="position:absolute;top:430px;height:115px;width:350px;margin:10px 0 0 10px;">
<p style="margin:0;">Images</p>
<!-- Product Images Carousel -->
<div id="ImagesCarousel" class="carousel slide">
<!-- carousel items -->
<div class="carousel-inner">
<div class="active item">
<?php include 'ryan_thumbnail_carousel_productimages.html'; ?>
<?php include 'ryan_thumbnail_carousel_productimages.html'; ?>
<?php include 'ryan_thumbnail_carousel_productimages.html'; ?>
</div>
<div class="item">
<?php include 'ryan_thumbnail_carousel_productimages.html'; ?>
<?php include 'ryan_thumbnail_carousel_productimages.html'; ?>
<?php include 'ryan_thumbnail_carousel_productimages.html'; ?>
</div>
<div class="item">
<?php include 'ryan_thumbnail_carousel_productimages.html'; ?>
<?php include 'ryan_thumbnail_carousel_productimages.html'; ?>
<?php include 'ryan_thumbnail_carousel_productimages.html'; ?>
</div>
</div>
<!-- Carousel nav -->
<a class="carousel-control left" href="#ImagesCarousel" data-slide="prev">‹</a>
<a class="carousel-control right" href="#ImagesCarousel" data-slide="next">›</a>
</div>
</div>
Où 'ryan_thumbnail_carousel_productimages.html' est:
<div class="thumbnail" style="float:left;margin:10px 15px 0 0;width:70px;height:70px; position:relative;"></div>