Reputation:
I am trying to make my bootstrap project 5 rows and take up the full width, but I am having issues understanding how to do this...
This code:
<div class="row car-list btn-group" style="border: 1px solid red">
<label class="car-image pr-0 col-lg-2 col-xs-1" style="border: 1px solid red">
<div class="ml-0">
<input type="radio" name="car-rental-class" class="required" id="car-rental-class-local" autocomplete="off" data-class="local" value="local" onclick="getpricing();" required> Local Car<br>(2007 - 2012 Toyota Corolla)
<img src="images/form-cars/1.png" alt="">
</div>
</label>
<label class="car-image px-0 col-lg-2 col-xs-3" style="border: 1px solid red">
<div>
<input type="radio" name="car-rental-class" class="required" id="car-rental-class-travel" autocomplete="off" data-class="travel" value="travel" onclick="getpricing();"> Travel Car<br>(2014 - 2020 Toyota Corolla)
<img src="images/form-cars/2.png" alt="">
</div>
</label>
<label class="car-image px-0 col-lg-2 col-xs-3" style="border: 1px solid red">
<div class="ml-3 ml-md-2">
<input type="radio" name="car-rental-class" class="required" id="car-rental-class-suv" autocomplete="off" data-class="suv" value="suv" onclick="getpricing();"> SUV<br>(2016 - 2020 Dodge Journey)
<img src="images/form-cars/3.png" alt="">
</div>
</label>
<label class="car-image px-0 col-lg-2 col-xs-3" style="border: 1px solid red">
<div>
<input type="radio" name="car-rental-class" class="required" id="car-rental-class-minivan" autocomplete="off" data-class="minivan" value="minivan" onclick="getpricing();"> Minivan<br>(2016 - 2020 Toyota Sienna)
<img src="images/form-cars/4.png" alt="">
</div>
</label>
<label class="car-image pr-0 col-lg-2 col-xs-2" style="border: 1px solid red">
<div>
<input type="radio" name="car-rental-class" class="required" id="car-rental-class-convert" autocomplete="off" data-class="convert" value="convert" onclick="getpricing();"> Convertible<br>(2015 - 2017 Ford Mustang)
<img src="images/form-cars/5.png" alt="">
</div>
</label>
</div>
Results in this:
And this code:
<div class="row car-list btn-group" style="border: 1px solid red">
<label class="car-image pr-0 col-6 col-md-3" style="border: 1px solid red">
<div class="ml-0">
<input type="radio" name="car-rental-class" class="required" id="car-rental-class-local" autocomplete="off" data-class="local" value="local" onclick="getpricing();" required> Local Car<br>(2007 - 2012 Toyota Corolla)
<img src="images/form-cars/1.png" alt="">
</div>
</label>
<label class="car-image px-0 col-6 col-md-3" style="border: 1px solid red">
<div>
<input type="radio" name="car-rental-class" class="required" id="car-rental-class-travel" autocomplete="off" data-class="travel" value="travel" onclick="getpricing();"> Travel Car<br>(2014 - 2020 Toyota Corolla)
<img src="images/form-cars/2.png" alt="">
</div>
</label>
<label class="car-image px-0 col-6 col-md-3" style="border: 1px solid red">
<div class="ml-3 ml-md-2">
<input type="radio" name="car-rental-class" class="required" id="car-rental-class-suv" autocomplete="off" data-class="suv" value="suv" onclick="getpricing();"> SUV<br>(2016 - 2020 Dodge Journey)
<img src="images/form-cars/3.png" alt="">
</div>
</label>
<label class="car-image px-0 col-6 col-md-3" style="border: 1px solid red">
<div>
<input type="radio" name="car-rental-class" class="required" id="car-rental-class-minivan" autocomplete="off" data-class="minivan" value="minivan" onclick="getpricing();"> Minivan<br>(2016 - 2020 Toyota Sienna)
<img src="images/form-cars/4.png" alt="">
</div>
</label>
<label class="car-image pr-0 col-6 col-md-3" style="border: 1px solid red">
<div>
<input type="radio" name="car-rental-class" class="required" id="car-rental-class-convert" autocomplete="off" data-class="convert" value="convert" onclick="getpricing();"> Convertible<br>(2015 - 2017 Ford Mustang)
<img src="images/form-cars/5.png" alt="">
</div>
</label>
</div>
Results in this:
What I would like is the table to be 5 equal rows that take up the full width. Suggestions? What is the advised method for doing this properly?
Edit: I want to keep mobile functionality that is provided with col-6
in the second example.
Upvotes: 0
Views: 300
Reputation: 641
Just remove number and try something like this: <div class="col-md col-6">
It'll make equal columns on desktop and two items per row on mobile.
Example: https://www.bootply.com/NgisB4j3qG
Upvotes: 1
Reputation: 392
Add 1 blank div/label at start and at end of the grid with the class as col-lg-1 the following code will give you 5 divs in one single row
<div class="row">
<label class="col-lg-1"></label>
<label class="col-lg-2">car 1</label>
<label class="col-lg-2">car 2</label>
<label class="col-lg-2">car 3</label>
<label class="col-lg-2">car 4</label>
<label class="col-lg-2">car 5</label>
<label class="col-lg-1"></label>
</div>
Upvotes: 0
Reputation: 43
Remove col-lg-2 as it would restrict your div to always take that much space only.
You can use:-
https://jsfiddle.net/tLyh7eab/2/
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.3.1/css/bootstrap-grid.min.css" integrity="sha256-D9AvR0EzkNZoWZVSvI3ch+uf/Z5izrIpcbsykVphwPU=" crossorigin="anonymous" />
<script src="https://cdnjs.cloudflare.com/ajax/libs/twitter-bootstrap/4.3.1/js/bootstrap.min.js" integrity="sha256-CjSoeELFOcH0/uxWu6mC/Vlrc1AARqbm/jiiImDGV3s=" crossorigin="anonymous"></script>
<style>
.car-list{
display: flex;
flex :1;
justify-content: center;
flex-wrap: nowrap;
}
img{
width: 70px;
}
</style>
<div class="row car-list btn-group" style="border: 1px solid red">
<label class="car-image pr-0 col" style="border: 1px solid red">
<div class="ml-0">
<input type="radio" name="car-rental-class" class="required" id="car-rental-class-local" autocomplete="off" data-class="local" value="local" onclick="getpricing();" required> Local Car<br>(2007 - 2012 Toyota Corolla)
<img src="car.png" alt="">
</div>
</label>
<label class="car-image px-0 col" style="border: 1px solid red">
<div>
<input type="radio" name="car-rental-class" class="required" id="car-rental-class-travel" autocomplete="off" data-class="travel" value="travel" onclick="getpricing();"> Travel Car<br>(2014 - 2020 Toyota Corolla)
<img src="car.png" alt="">
</div>
</label>
<label class="car-image px-0 col" style="border: 1px solid red">
<div class="ml-3 ml-md-2">
<input type="radio" name="car-rental-class" class="required" id="car-rental-class-suv" autocomplete="off" data-class="suv" value="suv" onclick="getpricing();"> SUV<br>(2016 - 2020 Dodge Journey)
<img src="car.png" alt="">
</div>
</label>
<label class="car-image px-0 col" style="border: 1px solid red">
<div>
<input type="radio" name="car-rental-class" class="required" id="car-rental-class-minivan" autocomplete="off" data-class="minivan" value="minivan" onclick="getpricing();"> Minivan<br>(2016 - 2020 Toyota Sienna)
<img src="car.png" alt="">
</div>
</label>
<label class="car-image pr-0 col" style="border: 1px solid red">
<div>
<input type="radio" name="car-rental-class" class="required" id="car-rental-class-convert" autocomplete="off" data-class="convert" value="convert" onclick="getpricing();"> Convertible<br>(2015 - 2017 Ford Mustang)
<img src="car.png" alt="">
</div>
</label>
</div>
Upvotes: 0
Reputation: 144
Try this way. solution of your requirements:
<div class="row d-flex justify-content-center">
<label class="car-image pr-0 col" style="border: 1px solid red">
<div class="ml-0">
<input type="radio" name="car-rental-class" class="required" id="car-rental-class-local" autocomplete="off" data-class="local" value="local" onclick="getpricing();" required> Local Car<br>(2007 - 2012 Toyota Corolla)
<img src="images/form-cars/1.png" alt="">
</div>
</label>
<label class="car-image pr-0 col" style="border: 1px solid red">
<div class="ml-0">
<input type="radio" name="car-rental-class" class="required" id="car-rental-class-local" autocomplete="off" data-class="local" value="local" onclick="getpricing();" required> Local Car<br>(2007 - 2012 Toyota Corolla)
<img src="images/form-cars/1.png" alt="">
</div>
</label>
<label class="car-image pr-0 col" style="border: 1px solid red">
<div class="ml-0">
<input type="radio" name="car-rental-class" class="required" id="car-rental-class-local" autocomplete="off" data-class="local" value="local" onclick="getpricing();" required> Local Car<br>(2007 - 2012 Toyota Corolla)
<img src="images/form-cars/1.png" alt="">
</div>
</label>
<label class="car-image pr-0 col" style="border: 1px solid red">
<div class="ml-0">
<input type="radio" name="car-rental-class" class="required" id="car-rental-class-local" autocomplete="off" data-class="local" value="local" onclick="getpricing();" required> Local Car<br>(2007 - 2012 Toyota Corolla)
<img src="images/form-cars/1.png" alt="">
</div>
</label>
<label class="car-image pr-0 col" style="border: 1px solid red">
<div class="ml-0">
<input type="radio" name="car-rental-class" class="required" id="car-rental-class-local" autocomplete="off" data-class="local" value="local" onclick="getpricing();" required> Local Car<br>(2007 - 2012 Toyota Corolla)
<img src="images/form-cars/1.png" alt="">
</div>
</label>
</div>
Upvotes: 1
Reputation: 71
Remove the col-attribute from each label, but take care would look bad on small screens. Maybe think of 2 rows?
for the col-attribute look at the following colums with equal-width
Upvotes: 0
Reputation: 41
I suggest reading this article 5 column layout with Bootstrap 4
...also note that initial size of width is 12, so if you want 5 exactly same items every single one has to be of size 2 + adding some css to space them differently should resolve the problem.
Upvotes: 1