Implementing card-deck in Bootstrap 4 to align cards of equal height can be challenging, especially when considering responsive design. By default, Bootstrap 4's card-deck spreads cards across four columns, regardless of the viewport size.
The issue arises when you want the cards to maintain a consistent appearance at different viewport sizes. The default setup in Bootstrap 4 doesn't account for a minimum card size or consider the impact of viewport classes on card-deck behavior.
To create a responsive card-deck that adjusts the number of columns based on viewport size, you can leverage the visibility utilities introduced in Bootstrap 4. By setting the visibility for particular columns on specific breakpoints, you can force a wrap and create the desired layout.
For Bootstrap 4 versions prior to 4.1, you can use the grid col-* classes to control the card widths. However, this requires an additional CSS snippet to enable flexbox and ensure the columns are equal height.
<code class="css">.row > div[class*='col-'] { display: flex; flex:1 0 auto; }</code>
Bootstrap 4 Alpha 6 and later versions have flexbox enabled by default. Therefore, you can utilize the h-100 class to set the cards to full height. This approach eliminates the need for additional CSS to handle the flexbox behavior.
In summary, by employing the appropriate techniques based on the Bootstrap 4 version you're using, you can achieve a responsive card-deck with the desired column count and maintain a consistent look and feel across different viewport sizes.
The above is the detailed content of How to Create a Responsive Bootstrap 4 Card-Deck with Column Count Based on Viewport?. For more information, please follow other related articles on the PHP Chinese website!