媒体查询 - 介于两个宽度之间

时间:2012-12-23 05:13:35

标签: css media-queries

我正在尝试使用CSS3媒体查询来创建一个只在宽度大于400px且小于900px时出现的类。我知道这可能非常简单,我遗漏了一些明显的东西,但我无法弄明白。我提出的是以下代码,感谢任何帮助。

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

4 个答案:

答案 0 :(得分:209)

您需要切换值:

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

演示:http://jsfiddle.net/xf6gA/(使用背景颜色,因此更容易确认)

答案 1 :(得分:25)

@Jonathan Sampson我认为如果你使用多个 @media ,你的解决方案是错误的。

您应该使用( min-width first ):

@media screen and (min-width:400px) and (max-width:900px){
   ...
}

答案 2 :(得分:3)

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

答案 3 :(得分:3)

我只是想将我的.scss示例留在这里,我认为这是一种最佳实践,特别是如果您进行自定义设置宽度一次就很好了!将它应用于任何地方并不明智,您将成倍增加人为因素。

期待您的反馈!

// 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;
   }
}