0

I've seen similar questions, but answers didn't help. There was only one that got me close enough to what I want, but there are other issues arising from it. I'm trying to get the vertical divider to be the same height all the time, but when each column have a different amount of elements it doesn't work.

enter image description here

HTML

<nav id="subCategories" class="row navbar bg-light">
   <div class="col-lg-3 col-4" style="border-right: 1px solid grey">
      <h6>BIKES</h6>
      <li class="nav-link subCategory">FULL SUSPENSION</li>
      <li class="nav-link subCategory">HARDTAIL</li>
      <li class="nav-link subCategory">E-BIKES</li>
      ...
   </div>
   <div class="col-lg-3 col-4" style="border-right: 1px solid grey">
      <h6>EQUIPMENT</h6>
      <li class="nav-link subCategory">HELMETS</li>
      <li class="nav-link subCategory">PROTECTORS</li>
      <li class="nav-link subCategory">GLOVES</li>
      <li class="nav-link subCategory">JERSEYS</li>
      <li class="nav-link subCategory">PANTS</li>
      ...
   </div>
   <div class="col-lg-3 col-4" style="border-right: 1px solid grey">
      <h6>PARTS</h6>
      <li class="nav-link subCategory">GPS</li>
      <li class="nav-link subCategory">LIGHTS</li>
      ...
   </div>
   <div class="col-lg-3 col-4">
      <h6>FOR THE BIKE</h6>
      <li class="nav-link subCategory">SCOOTER PARTS</li>
      <li class="nav-link subCategory">BMX PARTS</li>
      <li class="nav-link subCategory">TYRES/TUBES</li>
      <li class="nav-link subCategory">CHAINS</li>
   </div>
</nav>

CSS

.subCategory {
   border-right: 1px solid grey;
}
#subCategories {
   align-items: flex-start;
}

The closest I got it to work was to use css like this:

.subCategory {
   border-right: 1px solid grey;
   display: table-cell;
}
#subCategories {
   align-items: flex-start;
   display: table;
}

enter image description here

subCategory {
   border-right: 1px solid grey;
}
#subCategories {
   align-items: flex-start;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet"/>
<nav id="subCategories" class="row navbar bg-light">
   <div class="col-lg-3 col-4" style="border-right: 1px solid grey">
      <h6>BIKES</h6>
      <li class="nav-link subCategory">FULL SUSPENSION</li>
      <li class="nav-link subCategory">HARDTAIL</li>
      <li class="nav-link subCategory">E-BIKES</li>
      ...
   </div>
   <div class="col-lg-3 col-4" style="border-right: 1px solid grey">
      <h6>EQUIPMENT</h6>
      <li class="nav-link subCategory">HELMETS</li>
      <li class="nav-link subCategory">PROTECTORS</li>
      <li class="nav-link subCategory">GLOVES</li>
      <li class="nav-link subCategory">JERSEYS</li>
      <li class="nav-link subCategory">PANTS</li>
      ...
   </div>
   <div class="col-lg-3 col-4" style="border-right: 1px solid grey">
      <h6>PARTS</h6>
      <li class="nav-link subCategory">GPS</li>
      <li class="nav-link subCategory">LIGHTS</li>
      ...
   </div>
   <div class="col-lg-3 col-4">
      <h6>FOR THE BIKE</h6>
      <li class="nav-link subCategory">SCOOTER PARTS</li>
      <li class="nav-link subCategory">BMX PARTS</li>
      <li class="nav-link subCategory">TYRES/TUBES</li>
      <li class="nav-link subCategory">CHAINS</li>
   </div>
</nav>

1 Answers1

1

Just change align-items of #subCategory from flex-start to stretch.

subCategory {
   border-right: 1px solid grey;
}
#subCategories {
   align-items: stretch;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<script src="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/js/bootstrap.min.js"></script>
<link href="https://stackpath.bootstrapcdn.com/bootstrap/4.5.2/css/bootstrap.min.css" rel="stylesheet"/>
<nav id="subCategories" class="row navbar bg-light">
   <div class="col-lg-3 col-4" style="border-right: 1px solid grey">
      <h6>BIKES</h6>
      <li class="nav-link subCategory">FULL SUSPENSION</li>
      <li class="nav-link subCategory">HARDTAIL</li>
      <li class="nav-link subCategory">E-BIKES</li>
      ...
   </div>
   <div class="col-lg-3 col-4" style="border-right: 1px solid grey">
      <h6>EQUIPMENT</h6>
      <li class="nav-link subCategory">HELMETS</li>
      <li class="nav-link subCategory">PROTECTORS</li>
      <li class="nav-link subCategory">GLOVES</li>
      <li class="nav-link subCategory">JERSEYS</li>
      <li class="nav-link subCategory">PANTS</li>
      ...
   </div>
   <div class="col-lg-3 col-4" style="border-right: 1px solid grey">
      <h6>PARTS</h6>
      <li class="nav-link subCategory">GPS</li>
      <li class="nav-link subCategory">LIGHTS</li>
      ...
   </div>
   <div class="col-lg-3 col-4">
      <h6>FOR THE BIKE</h6>
      <li class="nav-link subCategory">SCOOTER PARTS</li>
      <li class="nav-link subCategory">BMX PARTS</li>
      <li class="nav-link subCategory">TYRES/TUBES</li>
      <li class="nav-link subCategory">CHAINS</li>
   </div>
</nav>
AbbasEbadian
  • 653
  • 5
  • 15