При использовании стилизованных компонентов вы можете использовать медиазапросы для создания адаптивных стилей на основе экранов разных размеров. Вот несколько методов, которые вы можете использовать для реализации медиа-запросов в стилизованных компонентах:
- Встроенные медиа-запросы. Вы можете напрямую определять медиа-запросы внутри литерала шаблона стилизованного компонента. Например:
import styled from 'styled-components';
const Container = styled.div`
background-color: red;
@media (max-width: 768px) {
background-color: blue;
}
`;
- Создание вспомогательных функций многократного использования медиазапросов. Вы можете определить вспомогательные функции многократного использования медиазапросов, чтобы упростить использование медиазапросов. Вот пример:
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;
`}
`;
- Использование библиотек CSS-in-JS. Если вы предпочитаете использовать библиотеки CSS-in-JS вместе со стилизованными компонентами, вы можете использовать их встроенные возможности медиа-запросов. Например, с помощью библиотеки
styled-systemвы можете напрямую применять медиа-запросы, используя свойства адаптивного стиля, такие какwidth,heightи т. д. width