css - 如何手动覆盖 CSS @media 查询?

标签 css media-queries

我为客户使用以下方法为网站制作了移动优化样式表:

    <link rel="stylesheet" type="text/css" media="screen and (max-device-width : 768px)" href="css/mobile.css"  />

这工作正常,但他们请求了一个链接,该链接将以其原始的完整页面格式显示该网站。

有谁知道重新加载网站并覆盖上面的媒体查询的方法吗?是使用 JavaScript 执行此操作的唯一方法吗?

最佳答案

就我个人而言,我更喜欢一种解决方案,即通过用户选择触发的页面后台代码中的某些逻辑有条件地呈现样式表链接。它不是那么干净,但是您也可以通过使用一些 javascript 来实现这一点。也许沿着给样式表链接一个 id 的思路:

<link id="mobilestyles" rel="stylesheet" type="text/css" media="screen and (max-device-width : 768px)" href="css/mobile.css" />

然后从按钮事件处理程序调用一个函数来禁用样式表:

jQuery

$("#mobilestyles").remove();

纯 JS

document.mobilestyles[0].disabled = true;

然后您可以将用户的选择存储为 cookie,并记住它以备将来访问。

关于css - 如何手动覆盖 CSS @media 查询?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23267503/

相关文章:

css - 如何使用 Bootstrap RTL 获得所需的按钮 View ?

css - 旋转横向时移动响应不起作用

css - 为什么 `not (some-width: Xem)` 媒体查询永远不会触发?

css - @media 查询不适用于纵向的 iPad

javascript - 为什么不使用依赖于浏览器的 CSS?

css - IE 6 & 7 - 相对输入框越界

css - 如何为我的网站删除 'Optimize CSS Delivery' 消息。

javascript - 单击按钮时如何创建元素的副本

javascript - 我可以自定义在另一个 Web 组件中使用的 Web 组件的 CSS 吗?

javascript - 带有 JS 的响应式/自适应 Web 的图像