'Bootstrap CSS Carousel Not working after float?
I am implementing a carousel in bootstrap but I am having two problems.
- It is not aligned horizontally (my div are going downwards).
- It is not working when I used the
float: leftproperty.
I don't understand what I'm doing wrong. I've tried a variety of things to fix this, but nothing seems to work.
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
<section class="internships" id="internships">
<div class="container headings text-center mt-4">
<h1 class="text-center font-weight-bold font-size mb-4">
Internships</h1>
</div>
<div id="carouselExampleSlidesOnly" class="carousel slide" data-bs-ride="carousel">
<div class="carousel-inner">
<div class="carousel-item active d-flex flex-row bd-highlight mb-3 ">
<div class="row">
<div class="col-lg-4 col-md-4 col-12">
<div class="box">
<a href="#"><img src="Images/IMG.jpg" alt="" srcset=""></a>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Consequuntur error tempora maxime, suscipit dolorem asperiores ! </p>
</div>
</div>
</div>
<div class="row d-flex flex-row bd-highlight mb-3">
<div class="col-lg-4 col-md-4 col-12 ">
<div class="box">
<a href="#"><img src="Images/IMG.jpg" alt="" srcset=""></a>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Consequuntur error tempora maxime, suscipit dolorem asperiores ! </p>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-4 col-md-4 col-12">
<div class="box">
<a href="#"><img src="Images/IMG.jpg" alt="" srcset=""></a>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Consequuntur error tempora maxime, suscipit dolorem asperiores ! </p>
</div>
</div>
</div>
</div>
<div class="carousel-item">
<div class="row">
<div class="col-lg-4 col-md-4 col-12">
<div class="box">
<a href="#"><img src="Images/IMG.jpg" alt="" srcset=""></a>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Consequuntur error tempora maxime, suscipit dolorem asperiores ! </p>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-4 col-md-4 col-12">
<div class="box">
<a href="#"><img src="Images/IMG.jpg" alt="" srcset=""></a>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Consequuntur error tempora maxime, suscipit dolorem asperiores ! </p>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-4 col-md-4 col-12">
<div class="box">
<a href="#"><img src="Images/IMG.jpg" alt="" srcset=""></a>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Consequuntur error tempora maxime, suscipit dolorem asperiores ! </p>
</div>
</div>
</div>
</div>
<div class="carousel-item">
<div class="row">
<div class="col-lg-4 col-md-4 col-12">
<div class="box">
<a href="#"><img src="Images/IMG.jpg" alt="" srcset=""></a>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Consequuntur error tempora maxime, suscipit dolorem asperiores ! </p>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-4 col-md-4 col-12">
<div class="box">
<a href="#"><img src="Images/IMG.jpg" alt="" srcset=""></a>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Consequuntur error tempora maxime, suscipit dolorem asperiores ! </p>
</div>
</div>
</div>
<div class="row">
<div class="col-lg-4 col-md-4 col-12">
<div class="box">
<a href="#"><img src="Images/IMG.jpg" class="img-fluid" srcset=""></a>
<p>Lorem ipsum dolor sit amet consectetur adipisicing elit. Consequuntur error tempora maxime, suscipit dolorem asperiores ! </p>
</div>
</div>
</div>
</div>
<button class="carousel-control-next" type="button" data-bs-target="#carouselExampleControls" data-bs-slide="next"></button>
</div>
</div>
</section>
Solution 1:[1]
Is this what you would like ?
If it is, then you have to work on some initial bootstrap classes to find a work-around the active class.
Why ?
The active class passes the element on display : block when you want to use a row (which uses display : flex). So every time you're item is active, it goes back to being a block and sets vertically.
Then when you'll use the buttons, it will trigger the carousel.item-next / carousel.item-prev classes and they also use... display : block ! So you'll need to change them to display : flex too.
This is what you'll need in your CSS :
.carousel-item.active{
display: flex;
}
.carousel-item-next{
display: flex;
}
.carousel-item-prev{
display: flex;
}
Then you'll need to work on your HTML :
you'll need to change the carousel-item class to : <div class="carousel-item active row">
inside that row, the children must be set using widths/cols from bootstrap. Such as : <div class="col-3> (3 if you want it to use one fourth of the carousel - it's what i used on the image up there)
Finally, here's a picture illustrating the HTML part, you'll need to repeat the HTML for each slide you'll be using :
Sources
This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.
Source: Stack Overflow
| Solution | Source |
|---|---|
| Solution 1 |


