虽然屏幕分辨率不会改变,但激活不同的媒体查询

时间:2015-09-02 09:47:23

标签: javascript jquery html css media-queries

我遇到以下情况:

我有用于screenresolution的媒体查询A:width< 1200px。

我有screenresolution的媒体查询B:width> 1200px。

文档中有一个带有单击事件处理程序的按钮。 目前我的screenresolution低于1200px,因此Elements使用媒体查询A. 在这个事件处理程序中,我想强制我的元素使用媒体查询B. 这可能吗?

我知道如何用JS操纵dom,但这就是我想要避免的。 有解决方案吗?

感谢您的回复。

1 个答案:

答案 0 :(得分:6)

以简单的方式,在click处理程序中,如果您尝试向<body>标记添加一个类,并在新类和目标中添加所有B媒体查询的CSS所有必需的选择器,你的工作已经完成。

决议:&lt; 1200 px:

  • 正文使用A媒体查询。
  • .fake-b-class班级的正文使用B媒体查询。

希望这会对你有所帮助。简单来说,您可以将B媒体查询中的所有样式复制到A.fake-b-class

在此处考虑@media查询示例:

/* This is B style! */
@media screen and (min-width: 1200px) {
    body {
        background-color: lightblue;
    }
}

/* This is A style */
body.fake-b-class {
    background-color: lightblue;
}

希望你能做得更好。