Я столкнулся с той же проблемой пару лет назад и финансировал разработку плагина, чтобы помочь мне в моей работе. Я выпустил плагин с открытым исходным кодом, чтобы другие тоже могли его использовать, и вы можете скачать его на Github: https://github.com/eqcss/eqcss
Существует несколько способов применения различных адаптивных стилей в зависимости от того, что мы можем знать об элементе на странице. Вот несколько запросов к элементам, которые плагин EQCSS позволит вам написать в CSS:
@element 'div' and (condition) {
$this {
/* Do something to the 'div' that meets the condition */
}
.other {
/* Also apply this CSS to .other when 'div' meets this condition */
}
}
Итак, какие условия поддерживаются для адаптивных стилей с EQCSS?
Весовые Запросы
- минимальная ширина в
px
- минимальная ширина в
%
- максимальная ширина в
px
- максимальная ширина в
%
Высота запросов
- минимальная высота в
px
- минимальная высота в
%
- максимальная высота в
px
- максимальная высота в
%
Количество запросов
- мин-символы
- макс-символы
- мин-линии
- макс-линия
- мин-дети
- Макс-дети
Специальные селекторы
В запросах элементов EQCSS вы также можете использовать три специальных селектора, которые позволяют более конкретно применять ваши стили:
$this
(элемент (ы), соответствующий запросу)
$parent
(родительский элемент (ы) элемента (ов), соответствующего запросу)
$root
(корневой элемент документа, <html>
)
Запросы элементов позволяют вам составить свой макет из индивидуально реагирующих дизайнерских модулей, каждый из которых имеет немного «самосознания» о том, как они отображаются на странице.
С помощью EQCSS вы можете создать один виджет, который будет хорошо выглядеть от ширины 150 пикселей до ширины до 1000 пикселей, а затем вы можете уверенно поместить этот виджет в любую боковую панель на любой странице, используя любой шаблон (на любом сайте), и