Enable Balanced Layout for harmonious grids
mainBy default, the masonry layout distributes items sequentially. To create a more visually harmonious grid that minimizes height differences between columns, set useBalancedLayout: true in the config object. This is ideal for content with varying heights like images or cards.
<Masonry
items={items}
config={{
columns: [2, 3, 4],
gap: [16, 16, 16],
media: [640, 768, 1024],
useBalancedLayout: true, // Enable balanced layout
}}
render={(item) => (
<img src={item.url} alt={item.alt} style={{ width: '100%' }} />
)}
/>