Files

68 lines
1.9 KiB
Markdown
Raw Permalink Normal View History

# Responsive
Mobile-first layout using Tailwind default breakpoints.
## Breakpoints
| Name | Min width | Typical device |
| --- | --- | --- |
| default | 0 | Mobile phones |
| `sm` | 640px | Large phones / small tablets |
| `md` | 768px | Tablets |
| `lg` | 1024px | Laptops |
| `xl` | 1280px | Desktops |
| `2xl` | 1536px | Large desktops |
Project usage notes:
- **Header desktop nav** appears at `xl` (not `lg`) to protect crowded Persian labels.
- **Section padding** steps at `md` (`py-16` → `md:py-20`).
- **Hero top padding** steps at `md` (`pt-24` → `md:pt-36`).
## Layout adaptations
| Concern | Mobile | Desktop |
| --- | --- | --- |
| Container gutter | `px-6` | same |
| Max width | `76.8rem` | same |
| Section Y | 64px | 80px |
| Grids | 1 col | 2–4 cols |
| Nav | Sheet menu | Inline `NavigationMenu` |
| Forms (newsletter) | Stacked | Horizontal `sm:flex-row` |
## Typography scaling
Scale variants already encode responsive steps (e.g. `h2`: `text-2xl md:text-3xl lg:text-4xl`). Prefer those over manual overrides.
Inputs use `text-base md:text-sm` to prevent iOS focus zoom.
## Spacing adaptations
- Increase gaps at larger breakpoints (`gap-10 lg:gap-16`) using the spacing scale.
- Do not shrink container padding on mobile below `px-6`.
- Collapse multi-column footers to `grid-cols-2` before `sm:grid-cols-4`.
## Touch & pointer
- Minimum target ~40px for primary icon buttons (`size="icon"` → 40px).
- Keep tap areas separated (`gap-1.5`–`gap-2` in toolbars).
## Overflow
- Test at 320–360px widths for Persian word wrapping.
- No horizontal page scroll; clip section decorations.
- Tables: wrap in horizontal scroll regions (blog tables already do).
## QA matrix (minimum)
- 375×812 (mobile)
- 768×1024 (tablet)
- 1280×800 (desktop)
- Light + dark on each
## Related
- [layout.md](./layout.md)
- [typography.md](./typography.md)
- [navbar.md](./navbar.md)