TheDocumentation Index
Fetch the complete documentation index at: https://mintlify.com/soyleninjs/hequalizer/llms.txt
Use this file to discover all available pages before exploring further.
columns option controls how Hequalizer groups elements before measuring them. Different layouts call for different grouping strategies: a single hero row needs every element equalized together, a multi-row grid needs row-by-row grouping, and a mobile single-column stack needs no equalization at all. Hequalizer covers all three cases through the columns option.
columns: "all" (default)
When columns is "all", Hequalizer measures every element in the group, finds the single tallest one, and applies that height as the CSS variable to all elements uniformly.
main.js
instance.values is a single number — the maximum height found across all elements.
This mode is best for carousels, sliders, or any layout where all items are in the same visual row regardless of count.
index.html
main.js
styles.css
columns: 2, 3, 4, etc.
When columns is a number greater than 1, Hequalizer divides the elements into consecutive groups of that size. Each group independently receives its own maximum height — elements in one row are never influenced by elements in another row.
main.js
instance.values is an array of numbers, one entry per group.
How the grouping works
Elements are sliced into consecutive chunks using their DOM order — exactly matching how CSS Grid lays them out row by row when all columns are equal width:Example: 3-column product grid
index.html
main.js
styles.css
The
columns value should always match the number of columns in your CSS grid. Combine columns with the responsive option to keep the two in sync as the layout shifts at different viewport widths.columns: 1 or less
When columns is 1 or any number less than 1, Hequalizer skips measurement entirely. It clears all CSS variables that it previously set and removes all state classes (height-calculated, height-calculating, height-zero) from every element. No minimum height is applied.
This is the cleanest way to disable equalization at a specific breakpoint without destroying the entire instance:
main.js
columns: 3 again.
Choosing the right mode
columns: 'all'
Best for carousels, sliders, or any component where every item occupies the same single row. Sets one shared height for the entire group.
columns: N
Best for multi-row CSS grids. Set
columns to match your grid’s column count so each row is equalized independently.columns: 1
Best for disabling equalization at a breakpoint where the layout is a single column or elements should use natural heights.