arui-feather
в адаптивной/мобильной средеКонтрольные точки для медиа запросов задаются в src/mq/mq.json
.
Для консистентной работы среди всех поддерживаемых браузеров используется единица измерения em
.
body { font-size: 16px };
--small
0 to 100%--small-only
0 to 768px
--medium
769px to 100%--medium-only
769px to 1024px
--large
1025px to 100%--large-only
1025px to 1440px
--xlarge
1441px to 100%--xlarge-only
1441px to 1920px
--xxlarge
1921px to 100%--xxlarge-only
1921px to 100%@media (--small-only) {
.app__content {
width: 100%;
padding: 0 20px;
}
}
@media (--medium) {
.app__content {
width: 700px;
margin: 0 auto;
}
}
При особой необходимости, для рендеринга по условию в шаблонах используйте компонент Mq
, который основан на window.matchMedia API
:
<Mq
query='--small-only'
touch={ true }
onMatchChange={ (isMatched) => console.log(`Your query is ${isMatched ? '' : 'not'} matched!`) }
>
Show smth on mobile
</Mq>
Компонент Mq
используется в компонентах calendar-input
и select
для рендеринга нативных виджетов на мобильных устройствах.
Важно понимать, что широкое использование этого подхода не рекомендовано, поскольку:
matchMedia()
накладнее для браузера, чем матчинг элемента в CSS;Временно: Запуск unit-тестов для тестирования в iOS Safari (необходим Xcode) MOBILE=1 npm run karma
.