javascript - 针对窄桌面而非移动设备的媒体查询

标签 javascript css mobile media-queries

假设我有以下代码:

@media (max-width: 1024px) {
   div {
      color: green;
   }
}

有什么方法可以在媒体查询中添加排除移动设备的条件吗?

...或者我是否必须在包含移动 CSS 代码的媒体查询中显式覆盖它?

增加移动代码的特异性并不是我所追求的,因为我在桌面代码中设置的属性可能根本不会在移动代码中设置。

我还意识到,如果采用移动优先的方法,这个问题就不会出现。 (但是这种方法没有用在我的案例中)

那么唯一的方法是在移动规则中覆盖桌面 css 规则吗?

编辑:看来你不能只用 CSS 来做到这一点......既然如此,什么是好的 javascript 解决方案?

最佳答案

我刚刚意识到我正在使用 Modernizr反正。所以我认为对我来说最好的解决方案是使用 Modernizr 来检测触摸设备。像这样:

1) 首先检查触摸事件

enter image description here

2) 点击生成按钮

为了演示这一点,我将生成的 javascript 复制到 jsbin

现在右键单击并检查 html 元素。 Modernizr 在桌面上添加了“无触摸”类,为手机和平板电脑(触摸设备)添加了“触摸”类

所以现在我可以使用这样的代码:

@media (max-width: 1024px) {
   .no-touch {
      div {
         color: green;
      }
   }
}

关于javascript - 针对窄桌面而非移动设备的媒体查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24117856/

相关文章:

javascript - 将参数转换为对象?

javascript - 如何使用按钮更改输入的值

javascript - Bootstrap 4 滚动到 div

php - 当我使用以下代码 : 从目录中调用导航时,下拉导航菜单中断

http - 如何确定移动浏览器是否支持元刷新?

javascript - 如何设置 VS Code 来创建 TypeScript 定义文件

javascript - 谷歌地图 - 欺骗计算机将单击视为双击

javascript - JQuery UI 菜单防止子菜单项崩溃?

c++ - 如何让 Windows Mobile 模拟器上的文件夹共享工作

java - 使用相同的包名和 key 对 apk 进行签名