css - 在桌面和手机的 CSS 中使用 @media 查询

标签 css mobile responsive-design media-queries stylesheet

我正在开发一个响应式网站,它会根据用户浏览器的宽度应用不同的 CSS 样式。

选择的方法是使用 CSS 媒体查询。

我的问题是:当我使用下面的代码时

@media screen
and (min-width: 200px)
and (max-width: 800px)
{
    #example
    {
        background: purple;
    }
}

这在我调整 PC 上的窗口大小时有效,但无法被分辨率在限制范围内的手机识别。

也许更perculiarly,当我使用下面的代码

@media screen
and (min-device-width: 200px)
and (max-device-width: 800px)
{
    #example
    {
        background: purple;
    }
}

这有相反的效果:在手机上显示,但在 PC 上不显示。

据我所知,“或”运算符没有范围可以使符合以下内容的内容有效

@media screen
and (
        ((min-width: 200px) and (max-width: 800px))

        | / || / OR

        ((min-device-width: 200px) and (max-device-width: 800px))
    )
{
    #example
    {
        background: purple;
    }
}

所以我的问题是:有没有办法同时在桌面和手机上测试响应式 CSS?

我试过很多组合: 使用 @media only screen, 在手机上使用 Android、Firefox 和 Chrome 浏览器, 但无济于事,结果总是一样。

目前我能想到的唯一方法是创建两个单独的样式表,一个用于桌面,一个用于手机,但这意味着每次我想在浏览器中查看更改时更新两个样式表,这是不切实际,与响应性的想法背道而驰。

我研究过使用 orientation: landscape/portrait 目标,但据我所知,这将再次涉及编写两组 CSS。

最后一个考虑因素是该网站目前使用的是纯 CSS;因此此时没有 javascript、用户代理确定或服务器端脚本。

这必须是可能的,因此任何见解都会受到赞赏。我相信有人会遇到同样的问题并启发我。

最佳答案

尝试使用视口(viewport)元标记:

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

将其放入页面的头部。

关于css - 在桌面和手机的 CSS 中使用 @media 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19252644/

相关文章:

div :hover in IE8 and 9 not working correctly with facebook like box, 上的 CSS 边距变化偶尔跳跃

css - 如何从 Wordpress 的小部件中删除元素符号

html - Css div 与斜线并排

javascript - 从哪里开始智能手机 Web 开发?

css - 响应式 css Sprite + 视网膜

html - CSS中的响应式水平图像布局

java - 使用单个类名从 html 标签获取文本,html 标签将包含多个类

angularjs - Angular Material : loose focus with clicking out an input

javascript - 如何根据浏览器设备添加/删除html元素和内容?

facebook - FB.ui 对话框不显示在移动设备上