🏠 Home / Hub

🎨 CSS Lesson 07 — CSS Grid

← Back to CSS Menu  |  🏠 Hub

🧭 Grid = 2D Layout — row AND column တပြိုင်နက် ချနိုင်
Flexbox (1D) + Grid (2D) = modern layout powerhouse

1. grid-template-columns

.container {
  display: grid;
  grid-template-columns: 200px 200px 200px;  /* 3 fixed columns */
  grid-template-columns: 1fr 1fr 1fr;         /* 3 equal columns */
  grid-template-columns: repeat(3, 1fr);       /* same, shorthand */
  grid-template-columns: 1fr 2fr 1fr;          /* ratio */
  gap: 16px;
}
1
2
3
4
5
6
grid-template-columns: repeat(2, 1fr)

2. gap

gap: 16px;            /* rows + columns */
row-gap: 10px;
column-gap: 20px;
gap: 10px 20px;       /* row-gap column-gap */
A
B
C
D
E
F
gap: 0

3. grid-column / grid-row — Spanning

.item {
  grid-column: 1 / 3;   /* column 1 မှ 3 အထိ span */
  grid-column: span 2;  /* 2 columns ကျယ် */
  grid-row: 1 / 3;      /* 2 rows ကျယ် */
}
span 2 cols
grid-column: 1/3
C
D
span all 3 cols
grid-column: span 3
E
row
span
2
grid-row: span 2
G
H

4. grid-template-areas — Named Layout

.container {
  display: grid;
  grid-template-columns: 200px 1fr;
  grid-template-rows: auto 1fr auto;
  grid-template-areas:
    "header  header"
    "sidebar main  "
    "footer  footer";
}
.header  { grid-area: header; }
.sidebar { grid-area: sidebar; }
.main    { grid-area: main; }
.footer  { grid-area: footer; }
HEADER
SIDEBAR
MAIN CONTENT
FOOTER

5. auto-fit + minmax — Responsive Grid

/* Responsive without media queries! */
grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
/* auto-fit  → stretch to fill empty space */
/* auto-fill → keep column sizes, add empty cols */
/* minmax(min, max) → min size to max size */

Browser window resize လုပ်ကြည့် — auto responsive!

Card 1
Card 2
Card 3
Card 4
Card 5
Card 6

6. justify-items & align-items

/* container properties */
justify-items: start | end | center | stretch(default)  /* horizontal */
align-items:   start | end | center | stretch(default)  /* vertical */

/* individual item */
justify-self: center;
align-self: end;

justify-items: center

1
2
3
4

align-items: end

1
2
3
4

7. Real Use — Card Grid Layout

Vue.js

Progressive Framework

React

UI Library

Angular

Full Framework

grid-template-columns: repeat(auto-fit, minmax(180px, 1fr));

← CSS 06  |  Next: CSS Lesson 08 → Transitions & Animations

📌 Study Checklist