Реализация медиа-запросов в стилизованных компонентах: руководство по адаптивным стилям

При использовании стилизованных компонентов вы можете использовать медиазапросы для создания адаптивных стилей на основе экранов разных размеров. Вот несколько методов, которые вы можете использовать для реализации медиа-запросов в стилизованных компонентах:

  1. Встроенные медиа-запросы. Вы можете напрямую определять медиа-запросы внутри литерала шаблона стилизованного компонента. Например:
import styled from 'styled-components';
const Container = styled.div`
  background-color: red;
  @media (max-width: 768px) {
    background-color: blue;
  }
`;
  1. Создание вспомогательных функций многократного использования медиазапросов. Вы можете определить вспомогательные функции многократного использования медиазапросов, чтобы упростить использование медиазапросов. Вот пример:
import { css } from 'styled-components';
const media = {
  desktop: (...args) => css`
    @media (min-width: 1024px) {
      ${css(...args)}
    }
  `,
  tablet: (...args) => css`
    @media (max-width: 768px) {
      ${css(...args)}
    }
  `,
};
const Container = styled.div`
  background-color: red;
  ${media.tablet`
    background-color: blue;
  `}

  ${media.desktop`
    background-color: green;
  `}
`;
  1. Использование библиотек CSS-in-JS. Если вы предпочитаете использовать библиотеки CSS-in-JS вместе со стилизованными компонентами, вы можете использовать их встроенные возможности медиа-запросов. Например, с помощью библиотеки styled-systemвы можете напрямую применять медиа-запросы, используя свойства адаптивного стиля, такие как width, heightи т. д. width