web-dev-qa-db-fra.com

Bootstrap largeur et hauteur du carrousel

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">&lsaquo;</a>
<a class="carousel-control right" href="#myCarousel" data-slide="next">&rsaquo;</a>

et mon fichier css

.tales {
  width: 100%;
  height: 200px;
}
37
Jorman Bustos

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) {}
66

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>
9
hugotom

Je recommande ce qui suit pour Bootstrap 3

.carousel-inner > .item > img,
.carousel-inner > .item > a > img {
  min-height: 500px;    /* Set slide height here */

}
8
Chuck

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.

7
rws

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;
}
3
David Chacon

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.

0
Armando Jr. Allere