J'essaie de faire un bootstrap carrousel avec toute la largeur des images (largeur: 100%) et une hauteur fixe, mais si je règle la largeur à 100%, la hauteur prend automatiquement les 100%
Je ne sais pas si le problème est dans mes fichiers
<div id="myCarousel" class="carousel slide">
<ol class="carousel-indicators">
<li data-target="#myCarousel" data-slide-to="0" class="active"></li>
<li data-target="#myCarousel" data-slide-to="1"></li>
<li data-target="#myCarousel" data-slide-to="2"></li>
</ol>
<!-- Carousel items -->
<div class="carousel-inner">
<div class="active item">
<%= image_tag "slider/slide-bg-1.jpg", class: "tales" %>
</div>
<div class="item">
<%= image_tag "slider/slide-bg-2.jpg", class: "tales" %>
</div>
<div class="item">
<%= image_tag "slider/slide-bg-3.jpg", class: "tales" %>
</div>
</div>
<!-- Carousel nav -->
<a class="carousel-control left" href="#myCarousel" data-slide="prev">‹</a>
<a class="carousel-control right" href="#myCarousel" data-slide="next">›</a>
et mon fichier css
.tales {
width: 100%;
height: 200px;
}
Essayez-vous de le rendre réactif? Si vous l'êtes, je vous recommanderais simplement ce qui suit:
.tales {
width: 100%;
}
.carousel-inner{
width:100%;
max-height: 200px !important;
}
Cependant, le meilleur moyen de gérer cela de manière réactive serait d'utiliser des requêtes multimédia telles que:
/* Smaller than standard 960 (devices and browsers) */
@media only screen and (max-width: 959px) {}
/* Tablet Portrait size to standard 960 (devices and browsers) */
@media only screen and (min-width: 768px) and (max-width: 959px) {}
/* All Mobile Sizes (devices and browser) */
@media only screen and (max-width: 767px) {}
/* Mobile Landscape Size to Tablet Portrait (devices and browsers) */
@media only screen and (min-width: 480px) and (max-width: 767px) {}
/* Mobile Portrait Size to Mobile Landscape Size (devices and browsers) */
@media only screen and (max-width: 479px) {}
Si vous utilisez bootstrap 4 Alpha et que vous avez une erreur avec la hauteur des images en chrome, j'ai une solution: La documentation de bootstrap 4 dit ceci:
<div id="carouselExampleSlidesOnly" class="carousel slide" data-ride="carousel">
<div class="carousel-inner" role="listbox">
<div class="carousel-item active">
<img class="d-block img-fluid" src="..." alt="First slide">
</div>
<div class="carousel-item">
<img class="d-block img-fluid" src="..." alt="Second slide">
</div>
<div class="carousel-item">
<img class="d-block img-fluid" src="..." alt="Third slide">
</div>
</div>
</div>
Solution:
La solution est de mettre "div" autour de l'image, avec la classe ".container", comme ceci:
<div class="carousel-item active">
<div class="container">
<img src="images/proyecto_0.png" alt="First slide" class="d-block img-fluid">
</div>
</div>
Je recommande ce qui suit pour Bootstrap 3
.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
min-height: 500px; /* Set slide height here */
}
Je sais que ceci est un article plus ancien mais Bootstrap est toujours en vie!)
Un peu différent du post de @ Eduardo, j'ai dû modifier:
#myCarousel.carousel.slide {
width: 100%;
max-width: 400px; !important
}
Quand j'ai seulement modifié .carousel-inner {}
, la taille réelle de l’image était fixe, mais les commandes gauche/droite s’affichaient incorrectement sur le côté de div
.
Hé les gars j'ai eu le même problème,
ma taille a changé à sa hauteur d'origine alors que ma diapositive s'animait vers la gauche (dans un site Web responsive)
donc je l'ai corrigé avec CSS seulement:
.carousel .item.left img{
width: 100% !important;
}
J'ai trouvé que si vous voulez juste changer la hauteur de l'élément repris par l'image, ce sera le code qui vous aidera
.carousel-item { height: 600px !important; }
cependant, cela ne rendra pas la taille de l'image dynamique, il s'agira simplement de rogner l'image à sa taille.