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

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

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

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

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

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


当前回答

你唯一需要的解决方法是:

把所有的媒体查询放在。css文件的末尾

它起作用了,试试吧

其他回答

我最近也遇到了这个问题,后来我发现这是因为我没有在和和(之间加空格。 这就是错误

@media screen and(max-width:768px){
}

然后我把它改成了这个

@media screen and (max-width:768px){
}

如果浏览器缩放级别不正确,也可能发生这种情况。您的浏览器窗口缩放应该是100%。在Chrome中使用Ctrl + 0重置缩放级别。

OP的代码片段显然使用了正确的注释标记,但CSS可能会以渐进的方式中断——因此,如果有语法错误,在此之后的所有内容都可能失败。有几次,我依赖可靠的来源提供了错误的注释标记,破坏了我的样式表。由于OP只提供了他们代码的一小部分,我建议如下:

确保你所有的CSS注释都使用这个标记/*…*/——这是根据MDN的css正确的注释标记

使用linter或安全的在线验证器验证您的css。这是W3边的

更多信息: 我从bootstrap 4中查看了最新的推荐媒体查询断点,结果直接从他们的文档中复制了锅炉盘。几乎每个代码块都标记了javascript风格的注释//,这破坏了我的代码-并且只给了我一些神秘的编译错误来进行故障排除,当时我无法理解,这让我感到悲伤。

IntelliJ文本编辑器允许我在LESS文件中使用ctrl+/热键注释掉特定的css行,这很棒,除了它默认地在无法识别的文件类型上插入//。它不是免费软件,更少是相当主流的,所以我相信它,并使用它。这打破了我的准则。有一个首选项菜单,用于教它为每种文件类型设置正确的注释标记。

我在一个新闻网站上使用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链接行简单如上行。

这三个技巧都很有用,但我似乎需要添加一个元标签:

<meta content="width=device-width, initial-scale=1" name="viewport" />

现在它似乎在Android(2.2)和iPhone上都能运行…