180

CSS3メディアクエリを使用して、幅が400pxより大きく900pxより小さい場合にのみ表示されるクラスを作成しようとしています。これはおそらく非常に単純で、明らかな何かが欠けていることを私は知っていますが、それを理解することはできません。私が思いついたのは以下のコードです、助けてくれてありがとう。

@media (max-width:400px) and (min-width:900px) {
    .class {
        display: none;
    }
}
4

4 に答える 4

325

値を切り替える必要があります。

/* No less than 400px, no greater than 900px */
@media (min-width:400px) and (max-width:900px) {
    .foo {
        display:none;
    }
}​

デモ: http: //jsfiddle.net/xf6gA/(背景色を使用しているため、確認が簡単です)

于 2012-12-23T05:19:24.170 に答える
37

@Jonathan Sampson複数の@mediaを使用する場合、ソリューションは間違っていると思います。

min-width first)を使用する必要があります:

@media screen and (min-width:400px) and (max-width:900px){
   ...
}
于 2015-01-29T13:53:58.230 に答える
7

ここに私の例を残したかったの.scssですが、それはちょっとしたベストプラクティスだと思います。特に、カスタマイズを行う場合は、幅を1回だけ設定するのがいいと思います。どこにでも適用するのは賢明ではありません。人的要因を指数関数的に増加させます。

フィードバックをお待ちしております。

// Set your parameters
$widthSmall: 768px;
$widthMedium: 992px;

// Prepare your "function"
@mixin in-between {
     @media (min-width:$widthSmall) and (max-width:$widthMedium) {
        @content;
     }
}


// Apply your "function"
main {
   @include in-between {
      //Do something between two media queries
      padding-bottom: 20px;
   }
}
于 2018-10-09T08:56:29.500 に答える
4

.class {
    display: none;
}
@media (min-width:400px) and (max-width:900px) {
    .class {
        display: block; /* just an example display property */
    }
}

于 2016-08-11T11:03:32.117 に答える