@ media-common - зачем нам это использовать?


12

В документации Magento 2 lib она содержит следующее:

@ media-common: true | false - устанавливает, следует ли выводить общие стили. Для общих стилей каждый раз, когда вы хотите добавить некоторые стили, вы должны использовать

& when (@media-common = true) {
    your styles
}

Вопрос

В чем разница между этим и написанием Less без него? Такие как:

& when (@media-common = true) {
    body {
        background: blue;
    }
}

Как это компилируется по-другому:

body {
    background: blue;
}

Не будет ли он выведен в styles-l.css и styles-m.css независимо?

Ответы:


16

Magento 2 следует подходу Mobile First, а @ media-common = true был разработан для определения стилей, которые являются базовыми (мобильными) и должны присутствовать в styles-m.css. Если вы отбросите это объявление, стили будут выведены как в файлы, так styles-m.cssи в styles-l.cssфайлы.


Ах, это имеет больше смысла, спасибо. Поэтому, когда media-common = true, он будет выводить только в styles-m.css, а установка media-common = false - это то же самое, что вообще не использовать его?
Бен Крук

1
Да. На самом деле СМИ-общие: ложь; используется styles-l.lessтолько в. Так что я не думаю, что кто-то когда-либо установит его falseспециально, разве что для какого-нибудь отдельного файла CSS, может быть? Кстати, для бэкэнд-стилей вы можете использовать оба: @ media-common или удалить это объявление, так как все стили находятся в одном файле CSS.
Ольга

На немобильном дисплее добавляется magento styles-l.less, так что все стили по- styles-m.lessпрежнему применяются, так почему код вне media-common: true добавляется в оба файла?
Volvox

Точно @Volvox. Потому что не используется media-common: true выведет стиль для обоих styles-l.lessи styles-m.less. Хотя с использованием media-common: true он выведет стиль в style-m, но на самом деле он будет применяться как для мобильных, так и для настольных компьютеров! Я проверю это сейчас, чтобы убедиться.
Мохаммед Джорайд
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.