@ 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.cssstyles-l.cssファイルの両方に出力されます。


ああ、もっと理にかなっています、ありがとう。つまり、media-common = trueの場合、styles-m.cssにのみ出力され、media-common = falseを設定することは、まったく使用しないことと同じですか?
Ben Crook

1
はい。実際にはメディア共通:false; styles-l.lessのみ使用されます。したがってfalse、カスタムのスタンドアロンのcssファイルでない限り、誰かが意図的にそれを設定することはないと思います。ちなみに、バックエンドスタイルでは、@ media-commonを使用するか、すべてのスタイルが単一のcssファイルにあるため、その宣言を削除できます。
Olga

モバイル以外のディスプレイではstyles-l.less、magentoがを追加するため、のすべてのスタイルがstyles-m.less引き続き適用されるので、media-common:true外のコードが両方のファイルに追加されるのはなぜですか?
Volvox 2018年

@Volvox。使用していないため、真:メディアの共通の意志の出力の両方にスタイルstyles-l.lessとをstyles-m.lessmedia-common:trueを使用すると、style-mでスタイルが出力されますが、実際にはモバイルとデスクトップの両方に適用されます。確認するために、今すぐ確認します。
Mohammed Joraid
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.