make ie9忽略媒体查询或遵守最小宽度规则

时间:2017-02-10 18:54:18

标签: css

无论如何,我可以让IE9忽略媒体查询或服从最小宽度吗?

我有一个网站,我使用媒体查询进行移动设备的响应式设计,它们运行良好,它们在所有现代浏览器中都很好用。问题是我有一些用户使用相当旧的浏览器(有些仍然使用IE6信不信由你自己的故障,完全不可避免)所以我有一个IE9的条件样式表并设置最小宽度该页面,因为我不希望我用过任何媒体查询来应用这些浏览器。

body{
    min-width:1000px !important;
}

IE9和IE8都遵守我在条件样式表中添加的所有规则,除了IE9,它忽略了主体的最小宽度规则。这意味着当它被调整大小时,媒体规则就会启动并终止布局。

有没有理由说IE9会忽略min-width或者是否有条件语句可以使用,所以媒体查​​询不适用于IE9?

2 个答案:

答案 0 :(得分:2)

最好将这些旧的浏览器目标放入HTML中的条件注释,引用不同的样式表或将唯一的类附加到<html>元素以进行定位:

<!--[if lt IE 7]><html class="no-js lt-ie9 lt-ie8 lt-ie7"> <![endif]-->
<!--[if IE 7]> <html class="no-js lt-ie9 lt-ie8"> <![endif]-->
<!--[if IE 8]><html class="no-js lt-ie9"> <![endif]-->
<!--[if IE 9]><html class="no-js ie9"> <![endif]-->
<!--[if gt IE 9]><html lang="en"><![endif]-->

然后你可以专门禁用或启用某些类的CSS:

@media (min-width: 700px) {
    .ie9 .yourNormalTarget {
        width: 1000px;
    }
}

答案 1 :(得分:1)

很难知道没有看到你的代码,但你可能处于怪癖模式。确保添加<!DOCTYPE html>以防止这种情况发生。