には if/else 構文がない@mediaため、同じメディア クエリを 2 つの別々@mediaのルールで繰り返し、notそのうちの 1 つを使用して「else」を意味する必要があります。
あなたの場合、メディアクエリはall and (min-width: 270px). (動作させるにはメディアタイプが必要notです。デフォルトはallそうなので、私はそれを使用しています。)
CSS は次のようになります。
@media all and (min-width: 270px) {
/* Apply first set of CSS rules */
}
@media not all and (min-width: 270px) {
/* Apply second set of CSS rules */
}
@mediaスタイルをオーバーライドするためのルールを1 つだけ設定して、カスケードを利用するのが一般的な方法の 1 つであることを付け加えておきます。
/* Apply second set of CSS rules */
@media all and (min-width: 270px) {
/* Apply first set of CSS rules */
}
@mediaただし、ルールの外側にオーバーライドされていない (またはオーバーライドできない)スタイルがある場合、これは不十分です。これらのスタイルは引き続き適用され、実際に再宣言する以外に元に戻す方法はありません。再宣言しても元に戻すことができない場合があり、その場合、このメソッドを使用してスタイルを適用することはできません。詳細な説明については、この質問に対する私の回答を参照してください。
この例では、height: 200px宣言は常に適用されます。
.example {
width: 200px;
height: 200px;
}
@media all and (min-width: 270px) {
.example {
width: 400px;
}
}
もちろん、それが問題でなければ、メディア クエリの重複を避けるためにこれを使用できます。ただし、厳密な if/else 構文を探している場合はnot、重複したメディア クエリを使用する必要があります。