--- title: Masonry Layout tags: layout,advanced --- Creates a masonry-style layout that is especially useful when working with images. - Create a masonry-style layout that consists of "bricks" that fall into each other with either a fixed `width` (vertical layout) or a fixed `height` (horizontal layout), forming a perfect fit. Especially useful when working with images. - Define `.masonry-container`, the container for the masonry layout and `.masonry-columns` an inner container in which `.masonry-brick` elements will be placed. - Apply `display: block` to `.masonry-brick` elements to allow the layout to flow properly. - Use the `:first-child` pseudo-element selector to apply a different `margin` for the first element to account for its positioning. - Use CSS variables to allow for greater flexibility within the layout in combination with media queries to ensure that the layout is responsive in different viewport sizes. ```html