あなたの問題はよくある誤解です。LESS はクエリを処理しません。ブラウザーは、LESS が作業を行った後に処理します。LESS は、ブラウザーが読み取るCSS コードのみを作成できます。したがって、は LESS にとって「無意味」であり、他のセレクター (など) と同様に、 がブラウザーに提供するものだけを処理します。@media
@media
.someClass div table
@media
つまり、 のために変更するすべてのコードをブロックに入れる必要があり@media
ます@media
。しかし、繰り返されるコードの束も必要ありません。代わりに、マスター mixin を作成して@media
コードを設定し、メディア クエリからその mixin を呼び出します。
.makeFooGroup(@w1, @w2) {
.foo {width: @w1}
.foo-2{width: @w2}
.bar{.foo}
.bar-2{.foo}
.bar-3{.foo-2}
}
@media (min-width: 1000px) {
.makeFooGroup(120px, 150px);
}
@media (max-width: 999px) {
.makeFooGroup(110px, 120px);
}
次の css を生成します。
@media (min-width: 1000px) {
.foo {width: 120px;}
.foo-2 {width: 150px;}
.bar {width: 120px;}
.bar-2 {width: 120px;}
.bar-3 {width: 150px;}
}
@media (max-width: 999px) {
.foo {width: 110px;}
.foo-2 {width: 120px;}
.bar {width: 110px;}
.bar-2 {width: 110px;}
.bar-3 {width: 120px;}
}
私が LESSについて提供@media
した、これに関連する詳細情報については、以下を参照してください。
- @media クエリで変数を定義できる CSS プリプロセッサ
- 一致する複数の散在するメディア クエリの代わりに、メディア クエリのグループ化