#css #reactjs #media-queries
#css #reactjs #медиа-запросы
Вопрос:
У меня есть этот сайт, который я в настоящее время пытаюсь преобразовать в react с помощью медиазапроса css для телефонов и планшетов.
Проблема, с которой я только что столкнулся, заключается в том, что css для the media query
не читается или просто не работает в React.
Есть какое-либо решение для этого? Спасибо
Комментарии:
1. Вы могли бы заглянуть в такие фреймворки, как aphrodite . Они поддерживают медиа-запросы и условные стили.
2. Можете ли вы отследить фрагмент кода в качестве примера того, как вы пытаетесь достичь этого?
3. @FabianSchultz Я, вероятно, буду использовать это, поскольку в нем также есть поддержка шрифтов
4. @EdmarMiyake в принципе
media queries
, у меня уже есть, но React не читает его, если я прав. Итак, в основном я нахожу решение о том, как использовать теmedia queries
, которые у меня есть.
Ответ №1:
Медиазапросы не имеют ничего общего с React, если вы не используете встроенный CSS, потому что в конце react выводит HTML, и медиазапросы работают идеально.
Я построил весь интерфейс в react и сделал его чисто отзывчивым. Также я использовал только 1% css как встроенный и использую две платформы 1. Semantic-ui 2. Flexbox Grid
наряду с приведенными ниже медиазапросами (записывается меньше переменных).
@highdensity: ~"only screen and (-webkit-min-device-pixel-ratio: 1.5)",
~"only screen and (min--moz-device-pixel-ratio: 1.5)",
~"only screen and (-o-min-device-pixel-ratio: 3/2)",
~"only screen and (min-device-pixel-ratio: 1.5)";
@mobile: ~"only screen and (max-width: 529px)";
@tablet: ~"only screen and (min-width: 530px) and (max-width: 949px)";
@desktop: ~"only screen and (min-width: 950px) and (max-width: 1128px)";
@desktop-xl: ~"only screen and (min-width: 1129px)";
@desktop-above: ~"only screen and (min-width: 950px)";
@tablet-above: ~"only screen and (min-width: 530px)";
@mobile-above: ~"only screen and (min-width: 320px)";
Комментарии:
1. о, действительно? Я и не подозревал об этом. Огромное спасибо! Мой друг жестко запрограммировал некоторые стили css, поэтому я не знал, что это основная проблема. Еще раз спасибо.
2. 1. не используйте встроенный css, примените класс или стиль к компоненту и используйте обычный css / less и требуйте его в файле компонента или непосредственно на вашей странице.
3. Я действительно использую классы или идентификаторы, просто мой друг сделал эти страницы, и я просто конвертировал в jsx, а потом обнаружил проблему. Но спасибо за разъяснение, это действительно помогло облегчить ситуацию.