Responsive Design
All UIs must be fully responsive, covering the entire device range from mobile to desktop. Responsiveness is not optional—it is a core requirement.
Rules
- Early planning: Responsiveness must be considered at the start of the design process, not patched in at the end.
- Mobile-first: Use a mobile-first design and implementation strategy. Start with the smallest viewport, then progressively enhance layouts for larger screens.
- Breakpoints: Define and document standard breakpoints for the project. Avoid arbitrary or inconsistent breakpoints across components.
- Consistency: Ensure consistent spacing, typography, and component scaling across device sizes.
- Readiness: A UI is never considered ready unless it has been tested across multiple devices and screen sizes.
Implementation guidelines
- Use flexbox and CSS grid for responsive layouts.
- Prefer relative units (
rem,%,minmax) instead of hard-coded pixel values. - Hide/show or rearrange components thoughtfully—never break the flow of the page.
- Always test on real devices or responsive simulators to validate behavior.
- Tailwind CSS is the preferred tool for responsive design. Tailwind's built-in breakpoint system (
sm,md,lg,xl,2xl) and utility classes make responsiveness faster, consistent, and easier to maintain compared to writing manual CSS media queries. - MUI can also support responsiveness, but care must be taken:
- Avoid inline styles that make layouts hard to maintain.
- Always implement reusable components that follow the DRY principle.
- Centralize style logic in theme configuration or shared components.