To create uniform-height grid items in Webflow when using columns or flexbox doesn't achieve the result, using CSS Grid with 100% height settings is the most reliable method.
1. Use a CSS Grid Layout
- Drag a Div Block into your Webflow page or section.
- Set its Display to Grid in the Styles panel.
- Define the Grid structure (number of rows/columns) in the grid settings.
- This ensures consistent structure across all grid items.
2. Set Equal Height with 100% on Grid Children
- Inside the Grid, add a Div Block for each grid item.
- Set each grid item’s height to 100%. This forces them to stretch to match the tallest item in the row.
- Optionally, add an inner wrapper to the grid items for padding or content alignment without affecting height.
3. Enable Stretch Alignment (if needed)
- Select the Grid container.
- In the Child Alignment section of the Grid settings, make sure Align Self and Justify Self on child items are set to Stretch, or manually apply Align: Stretch to each grid item.
4. Avoid Nested Flex or Column Conflicts
- Remove conflicting flex settings from inside the grid items.
- Avoid using the Columns component, as it’s legacy and doesn’t reliably maintain equal heights across varying content lengths.
5. Adjust Responsive Behavior
- Ensure the grid layout adapts across breakpoints without collapsing or breaking the height equalization.
- If switching to a single column layout on mobile, height differences won't matter as items stack.
Summary
To ensure consistent height across grid items regardless of content, use a CSS Grid layout, set child elements to height: 100%, and make sure Stretch alignment is applied. Avoid using legacy Columns and avoid conflicting flex styles inside items.