Ie11不应用媒体查询样式

时间:2017-01-08 19:27:00

标签: css html5 internet-explorer-11

IE11忽略我的媒体查询并始终使用移动广告。

奇怪的是,如果我改变浏览器宽度,即使只有1-2个像素,浏览器也会自动呈现并显示媒体查询。

我试过css lint,我的css没有错误。

我的css没什么特别的。就像这样简单的css:

.div_example{
  width: 100px;
}

@media (min-width: 768px){
  .div_example{
    width: 300px;
  }
}

有没有人遇到过这个问题?

4 个答案:

答案 0 :(得分:1)

发生这种确切的事情。就像您一样,如果调整窗口大小,媒体查询似乎会启动。很难调试,因为打开停靠在窗口上的开发人员控制台也会导致调整大小,并且一切看起来都很好。将开发者控制台切换到单独的窗口后,我可以在DOM资源管理器中看到没有应用媒体查询。

最终,我找到了媒体查询,该媒体查询位于主体而不是头部的样式块内。将样式块重新定位到头部可以使IE11正确地应用媒体查询。

IE11(Using <style> tags in the <body> with other HTML)不支持

身体样式,因此不足为奇。

答案 1 :(得分:0)

答案 2 :(得分:0)

今天通过IE11解决了这个问题。最小和最大宽度的媒体查询未应用。但是,正在应用基于固定大小或其他属性(例如-ms-high-contrast: none)的媒体查询块。

修正是要添加only screen,因为all也不起作用。

不起作用

@media (min-width: 1000px){ ... }
@media all and (min-width: 1000px) { ... }

可以工作

@media only screen and (min-width: 1000px) { ... }

那些应该是完全相同的,我不知道为什么一个可行而另一个却不可行,但是也许这会让别人头疼。

答案 3 :(得分:-1)

它总是使用移动样式,因为您正在使用:

@media (min-width: 768px)

如果您的窗口宽度超过768px,则此条件为真,请尝试:

@media (max-width: 768px)

当窗口宽度小于768px时,将应用该媒体查询中的样式,这可能是您想要实现的。