The astro-island
and astro-slot
selectors help to alleviate styling frustrations when using Astro.
.masonry { display: grid; grid-template-columns: repeat(var(--cols, 1), minmax(0, auto)); gap: var(--gap-y, var(--gap)) var(--gap-x, var(--gap)); max-width: 100%; grid-template-rows: masonry;
> *, > *:where(.contents) > *, > *:where(astro-island, astro-slot) > * { grid-column-end: span var(--span, 1); align-self: start; }}
.masonry-gallery { display: grid; grid-template-columns: repeat( grid-template-rows: masonry; auto-fill, minmax(min(var(--item-width, 3rem), 100%), 1fr) ); gap: var(--gap-y, var(--gap)) var(--gap-x, var(--gap)); max-width: 100%;
> *, > *:where(.contents) > *, > *:where(astro-island, astro-slot) > * { grid-column-end: span var(--span, 1); align-self: start; }}