Сортування медіазапитів:
mobile-first
таdesktop-first
дляcss-mqpacker
таpleeease
(котрий використовує css-mqpacker) та, можливо, для чогось ще ))
🇬🇧 English | 🇺🇦 Українська
- Альтернатива
mqpacker
- Використання в CSS-in-JS 🚀
- Встановлення
- Використання
- Конфігурація сортування
- Інформація про проєкт
https://github.com/hail2u/node-css-mqpacker - є депрекейтнутим!
Одним з альтернативных плагінів може бути - postcss-sort-media-queries
Пакет sort-css-media-queries
використовується в jss-plugin-sort-css-media-queries
npm install --save sort-css-media-queries
# or using yarn cli
yarn add sort-css-media-queries
Для початку, ознайомтесь з оригінальною документацією:
https://www.npmjs.com/package/css-mqpacker#sort
const sortCSSmq = require('sort-css-media-queries');
// your cool code
// ...
postcss([
mqpacker({
sort: sortCSSmq
})
]).process(css);
Сортування медіазапит від мобільних пристроїв до десктопних. Послідовність медіазапитів:
min-width
таmin-height
від меньшого до більшого,max-width
таmax-height
від більшого до меншого,min-device-width
таmin-device-height
від меньшого до більшого,max-device-width
таmax-device-height
від більшого до меншого,- медіазапит без одиниць виміру:
tv, ttp, ...
- в кінці:
print
print and (orientation: landscape)
print and (orientation: portrait)
Приклад початкового коду:
// min-width/-height -> from smallest to largest
'screen and (min-width: 320px) and (max-width: 767px)',
'screen and (min-height: 480px)',
'screen and (min-height: 480px) and (min-width: 320px)',
'screen and (min-width: 640px)',
'screen and (min-width: 1024px)',
'screen and (min-width: 1280px)',
// device
'screen and (min-device-width: 320px) and (max-device-width: 767px)',
// max-width/-height <- from largest to smallest
'screen and (max-width: 1023px)',
'screen and (max-height: 767px) and (min-height: 320px)',
'screen and (max-width: 767px) and (min-width: 320px)',
'screen and (max-width: 639px)',
// no units
'screen and (orientation: landscape)',
'screen and (orientation: portrait)',
'print',
'tv';
Результат сортування:
'screen and (min-width: 320px) and (max-width: 767px)',
'screen and (min-height: 480px)',
'screen and (min-height: 480px) and (min-width: 320px)',
'screen and (min-width: 640px)',
'screen and (min-width: 1024px)',
'screen and (min-width: 1280px)',
'screen and (min-device-width: 320px) and (max-device-width: 767px)',
'screen and (max-width: 1023px)',
'screen and (max-height: 767px) and (min-height: 320px)',
'screen and (max-width: 767px) and (min-width: 320px)',
'screen and (max-width: 639px)',
'print',
'screen and (orientation: landscape)',
'screen and (orientation: portrait)',
'tv';
const sortCSSmq = require('sort-css-media-queries');
// your cool code
// ...
postcss([
mqpacker({
sort: sortCSSmq.desktopFirst
})
]).process(css);
Сортування медіазапитів від десктопних пристроїв до мобільних. Послідовність медіазапитів:
max-width
таmax-height
від більшого до меншого,min-width
таmin-height
від меньшого до більшого,max-device-width
таmax-device-height
від більшого до меншого,min-device-width
таmin-device-height
від меньшого до більшого,- медіазапит без одиниць виміру:
tv, ttp, ...
- в кінці:
print
print and (orientation: landscape)
print and (orientation: portrait)
Ви можете імпортувати окремий хелпер сортування з пакета та створити власний метод сортування з конфігурацією за необхідності:
const createSort = require("sort-css-media-queries/lib/create-sort");
const sortCSSmq = createSort({ ...configuration });
Або створити файл sort-css-mq.config.json
у корені вашого проєкту з необхідними опціями,
або додати властивість sortCssMQ: {}
у вашому package.json
.
- тип:
boolean | undefined
- дефолтне значення:
undefined