display: flex を指定するだけで、子要素が横一列に並び、高さが揃います。
flex-wrap: wrap を指定すると、アイテムが折り返されます。
flex プロパティでアイテムの伸び縮みの割合を設定できます。
flex に最小サイズを指定することもできます。
justify-content: center と align-items: center を組み合わせると、アイテムがど真ん中に配置されます。
display: grid と grid-template-columns で列を定義します。
repeat(3, 1fr) は 1fr 1fr 1fr と同じ意味です。
gap プロパティで行と列の間隔を指定できます。