在样式。css中,我使用媒体查询,这两者都使用的变体:

/*--[ Normal CSS styles ]----------------------------------*/

@media only screen and (max-width: 767px) {

    /*--[ Mobile styles go here]---------------------------*/
}

当我缩小窗口时,网站大小会调整到我在常规浏览器(Safari, Firefox)中想要的布局,然而,手机上根本不会显示移动布局。相反,我只看到默认的CSS。

有人能告诉我正确的方向吗?


当前回答

总是在一些单位中提到max-width和min-width,比如px或rem。这对我来说很好。如果我写它没有单位,只有数字值,浏览器不能读取媒体查询。例子: 这是错误的 @media only screen和(max-width:950) 和 这是对的 @media only screen (max-width:950px)

其他回答

我在一个新闻网站上使用bootstrap,但它在IE8上不起作用,我使用css3-mediaqueries.js javascript,但仍然不起作用。如果你想让你的媒体查询与这个javascript文件一起工作,在CSS中添加screen到你的媒体查询行

这里有一个例子:

<meta name="viewport" content="width=device-width" />


<style>
     @media screen and (max-width:900px) {}
     @media screen and (min-width:900px) and (max-width:1200px) {}
     @media screen and (min-width:1200px) {}
</style>

<link rel="stylesheet" type="text/css" href="bootstrap.min.css">
<script type="text/javascript" src="css3-mediaqueries.js"></script>

css链接行简单如上行。

不要忘记在媒体查询上面有标准的css声明,否则查询也不会工作。

.edcar_letter{
    font-size:180px;
}

@media screen and (max-width: 350px) {
    .edcar_letter{
        font-size:120px;
    }
}

css代码的顺序也很重要,例如:

@media(max-width:600px){
  .example-text{
     color:red;
   }
}
.example-text{
   color:blue;
}

由于执行顺序的原因,上述代码将无法工作。需要写如下:

.example-text{
   color:blue;
}
@media(max-width:600px){
  .example-text{
     color:red;
   }
}

我也有同样的问题,原来我的媒体查询顺序是错误的。它们应该在CSS中从最宽到最小定义

总是在一些单位中提到max-width和min-width,比如px或rem。这对我来说很好。如果我写它没有单位,只有数字值,浏览器不能读取媒体查询。例子: 这是错误的 @media only screen和(max-width:950) 和 这是对的 @media only screen (max-width:950px)