Web Development35 entries
CSS Grid
Grid container and item properties, template areas, auto-placement, and responsive grids
1Container Properties
display: grid | Enable grid layout on container |
display: inline-grid | Inline-level grid container |
grid-template-columns: 1fr 2fr 1fr | Define column sizes (fractional) |
grid-template-columns: repeat(3, 1fr) | Repeat: 3 equal columns |
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)) | Responsive auto-fill columns |
grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)) | Auto-fit (stretch to fill) |
grid-template-rows: 100px auto 1fr | Define row sizes |
grid-auto-rows: minmax(100px, auto) | Default height for implicit rows |
2Template Areas
grid-template-areas: "header header" "sidebar main" "footer footer" | Define named areas |
grid-area: header | Place item in named area |
grid-area: . (dot) | Empty cell in template |
3Gap & Alignment
gap: 16px | Equal row and column gap |
gap: 16px 24px | Row gap, column gap |
justify-items: start | center | end | stretch | Align items along row axis |
align-items: start | center | end | stretch | Align items along column axis |
place-items: center | Shorthand for align-items + justify-items |
justify-content: center | space-between | Align grid within container (row) |
align-content: center | space-between | Align grid within container (column) |
4Item Placement
grid-column: 1 / 3 | Span from column line 1 to 3 |
grid-column: 1 / -1 | Span full width |
grid-column: span 2 | Span 2 columns from auto position |
grid-row: 1 / 3 | Span from row line 1 to 3 |
grid-row: span 2 | Span 2 rows |
grid-area: 1 / 1 / 3 / 3 | Shorthand: row-start / col-start / row-end / col-end |
5Item Self-Alignment
justify-self: start | center | end | stretch | Align item along row axis |
align-self: start | center | end | stretch | Align item along column axis |
place-self: center | Shorthand for align-self + justify-self |
order: -1 | Change visual order |
z-index: 1 | Stack order for overlapping items |
6Sizing Functions
1fr | One fraction of available space |
minmax(200px, 1fr) | Min 200px, max 1fr |
min-content | Size to minimum content width |
max-content | Size to maximum content width |
fit-content(300px) | Like max-content but capped at 300px |
auto | Size based on content and available space |