Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

twitter-bootstrap center carousel image reguardless of screen size

I have the following desires for a twitter bootstrap carousel:

  1. When screen is bigger then carousel, I want the image centered.
  2. When the screen is smaller than the carousel, I want to see just PART of the image. This part of the image should be centered.
  3. At no point should the images be resized or scaled
  4. The transitions should work.

My example below fixed problems 1-3.. but it breaks 4. I can easily fix 4 if I am willing to break 3, but that is no good.

Bootply link to example: http://bootply.com/88542

HTML:

<!-- Carousel
================================================== -->
<div id="myCarousel" class="carousel slide">
  <!-- Indicators -->
  <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>
  <div class="carousel-inner">
    <div class="item active">
      <img src="http://lorempixel.com/1200/600/abstract/1" height="600px" width="1200px">
      <div class="container">
        <div class="carousel-caption">
          <h1>Bootstrap 3 Carousel Layout</h1>
          <pthis is="" an="" example="" layout="" with="" carousel="" that="" uses="" the="" bootstrap="" 3="" styles.<="" small=""><p></p>
          <p><a class="btn btn-lg btn-primary" href="http://getbootstrap.com">Learn More</a>
        </p></pthis></div>
      </div>
    </div>
    <div class="item">
      <img src="http://lorempixel.com/1200/600/abstract/2" height="600px" width="1200px">
      <div class="container">
        <div class="carousel-caption">
          <h1>Changes to the Grid</h1>
          <p>Bootstrap 3 still features a 12-column grid, but many of the CSS class names have completely changed.</p>
          <p><a class="btn btn-large btn-primary" href="#">Learn more</a></p>
        </div>
      </div>
    </div>
    <div class="item">
      <img src="http://placehold.it/1200X600" height="600px" width="1200px">
      <div class="container">
        <div class="carousel-caption">
          <h1>Percentage-based sizing</h1>
          <p>With "mobile-first" there is now only one percentage-based grid.</p>
          <p><a class="btn btn-large btn-primary" href="#">Browse gallery</a></p>
        </div>
      </div>
    </div>
  </div>
  <!-- Controls -->
  <a class="left carousel-control" href="#myCarousel" data-slide="prev">
    <span class="icon-prev"></span>
  </a>
  <a class="right carousel-control" href="#myCarousel" data-slide="next">
    <span class="icon-next"></span>
  </a>  
</div>
<!-- /.carousel -->

CSS

/* BOOTSTRAP 3.x GLOBAL STYLES
-------------------------------------------------- */
body {
  padding-bottom: 40px;
  color: #5a5a5a;
}



/* CUSTOMIZE THE CAROUSEL
-------------------------------------------------- */

/* Carousel base class */
.carousel {
  margin-bottom: 60px;
}
/* Since positioning the image, we need to help out the caption */
.carousel-caption {
  z-index: 10;
}

/* Declare heights because of positioning of img element */
.carousel .item {
  height: 600px;
  width: 1200px;
  background-color:#bbb;
  left: 50%;
  margin-left: -600px;
}
.carousel img {
  position: absolute;
  top: 0;
}



/* RESPONSIVE CSS
-------------------------------------------------- */

@media (min-width: 768px) {

  /* Remve the edge padding needed for mobile */
  .marketing {
    padding-left: 0;
    padding-right: 0;
  }

  /* Navbar positioning foo */
  .navbar-wrapper {
    margin-top: 20px;
    margin-bottom: -90px; /* Negative margin to pull up carousel. 90px is roughly margins and height of navbar. */
  }
  /* The navbar becomes detached from the top, so we round the corners */
  .navbar-wrapper .navbar {
    border-radius: 4px;
  }

  /* Bump up size of carousel content */
  .carousel-caption p {
    margin-bottom: 20px;
    font-size: 21px;
    line-height: 1.4;
  }

}
like image 634
bwawok Avatar asked Oct 18 '13 15:10

bwawok


People also ask

How does bootstrap manage carousel image size?

You can put it in a DIV element like I suggested earlier where you add CSS to your design that restricts the width of that DIV that then limits the width of the carousel. For example setting a DIV to 300px wide. OR you can use a row and column(s) with changing the column sizes to your liking.

How do you make a carousel slider full width?

Make sure the img inside the carousel item is set to height and width 100%. You also have to make sure the carousel and any of the . item containers (html,body) are 100%...


2 Answers

This might help if you want the image to be re-sized according to the screen size of the device. The width = "100%" will do the job.

<img src="http://lorempixel.com/1200/600/abstract/2" width = "100%">
like image 178
CENT1PEDE Avatar answered Sep 27 '22 19:09

CENT1PEDE


just add this to your css:

.carousel-inner > .item > img, .carousel-inner > .item > a > img {
    width: 100%;
}
like image 39
Alex Z Avatar answered Sep 27 '22 19:09

Alex Z