これをこの質問の複製として閉じることについて多くのサポートが得られていないように見えるので、基本的に私の答えを繰り返します(多少のバリエーションがあります)。
@media
LESS クエリではなく、CSS クエリであることを忘れないでください
クエリは、@media
現在読み込まれている CSS が表示されているメディア (通常は何らかの種類のブラウザーですが、印刷など) に応答できるようにする CSS 機能です。
LESS は、CSSがブラウザーに読み込まれる前、つまりメディアがチェックされる前に作成する CSSプリプロセッサーです(これは、LESS によって生成された後、CSS 自体で行われます)。
したがって、LESS の適切な方法は、ストレート CSS と同じタイプの出力を持つことです。つまり、メディア タイプの値が変化するよう.menu
に、クエリでセレクターを繰り返す必要があります。@media
最終的なCSS出力は次のようになります
@media only screen and (max-width: 400px) {
.menu {
width: 100px;
}
}
.menu {
width: 300px;
}
LESS でそのようなものを生成するには、さまざまな方法があります。上記の基本的な形式を厳密に採用すると、次のようになります。
@menu-width: 300px; // default size
@media only screen and (max-width: 400px) {
.menu {
width: @menu-width - 200px; /* assuming you want it dynamic to default */
}
}
.menu {
width: @menu-width;
}
しかし、以下も見てください。