Explain Codes LogoExplain Codes Logo

How to make bootstrap column height to 100% row height?

html
responsive-design
css
bootstrap
Nikita BarsukovbyNikita Barsukov·Jan 25, 2025
TLDR

You can implement full height of a Bootstrap column by applying a class="h-100" to the column within a flex container. To achieve this, encase your columns in a row with the class d-flex, aligning them in a flex layout context. Here's an illustrative example:

<div class="row d-flex"> <div class="col-md-6 h-100" style="background-color: yellow;"> This column is feeling tall today! </div> <div class="col-md-6" style="background-color: green;"> Another column, standing strong next to its buddy. </div> </div>

The h-100 class helps to extend the column height so it equals the row's full height.

Going deeper: additional customization

While the quick solution covers the basic scenario, there are cases when you'll need better control over the column heights within a Bootstrap layout. This might particularly be for scenarios where one column's content is not defining the height of others.

The table display trick

To handle this, you can use display: table and display: table-cell properties from CSS. By presenting the row as a table and the columns as table cells, you can achieve uniform heights regardless of each 'cell's' inner content. Let's see how it works:

.row-as-table { display: table; width: 100%; /* Think big! Full-width for parent dominance */ } .col-as-table-cell { display: table-cell; float: none; /* Say NO to float. We're a table now! */ }

Padding and margin adjustments

Responsive design often involves padding and margin that could disrupt the visual heights of the columns. Thankfully, Bootstrap offers handy utilities to fine-tune these details without devastating the responsiveness. You can use classes like p-0 or m-0 to remove padding or margin as per need.

Resolving unequal heights

There could still be scenarios where the columns - despite having equal heights - are not aligning well. In such cases, inspecting and adjusting individual column's padding and margin values could be beneficial. It might feel like balancing as a tightrope walker, so use the Bootstrap grid classes for consistency and responsiveness maintenance.

Handling diverse content and growth

What if the content is dynamic?

In cases where column content may change dynamically, Bootstrap's column classes are designed to handle the variation without disturbing the overall height. Utilize min-height to make sure the columns keep at a specific height, irrespective of content size changes.

Staying in line with Bootstrap features

Bootstrap's responsive features, including but not limited to row-eq-height, can be especially useful in addressing uneven column heights in the grid system. They promise that the column heights stay consistent across various screen sizes and content alterations.

Keeping cross-browser compatibility in check

Different display characteristics may be supported differently across various browsers. So, it's a good idea to test your layout across multiple browsers. Methods involving display: table and display: table-cell are generally well-supported, but it's always smart to check for a uniform user experience.