foundation

Media queries

Используйте viewport, preference, input, color scheme, reduced motion и range queries как переключатели с учётом возможностей.

Media queries применяют стили по возможностям среды — не только по ширине viewport. Разделяйте layout, input и user preference.

					@media (min-width: 48rem) { .layout { grid-template-columns: 1fr 1fr; } }
@media (hover: hover) and (pointer: fine) {
  .menu-item:hover { background: var(--surface-hover); }
}
@media (prefers-reduced-motion: reduce) {
  * { animation-duration: 0.01ms !important; }
}
@media (prefers-color-scheme: dark) {
  :root { color-scheme: dark; }
}
				

Современный range syntax (`width >= 48rem`) читается яснее min/max пар. Различайте viewport media queries и container queries — они решают разные задачи переносимости.

На интервью: mobile-first, preference media features и когда hover-стили неуместны.

Компромисс: меньше breakpoints через fluid layout против явных скачков layout при реальном перестроении контента.

Типовые ошибки: breakpoints под конкретные устройства; игнор reduced motion и coarse pointer.

Чеклист:

  • Breakpoints по контенту и возможностям.
  • prefers-reduced-motion и color-scheme.
  • Range syntax для ясности.
  • Shell viewport отдельно от @container.