无论如何,我可以让IE9忽略媒体查询或服从最小宽度吗?
我有一个网站,我使用媒体查询进行移动设备的响应式设计,它们运行良好,它们在所有现代浏览器中都很好用。问题是我有一些用户使用相当旧的浏览器(有些仍然使用IE6信不信由你自己的故障,完全不可避免)所以我有一个IE9的条件样式表并设置最小宽度该页面,因为我不希望我用过任何媒体查询来应用这些浏览器。
body{
min-width:1000px !important;
}
IE9和IE8都遵守我在条件样式表中添加的所有规则,除了IE9,它忽略了主体的最小宽度规则。这意味着当它被调整大小时,媒体规则就会启动并终止布局。
有没有理由说IE9会忽略min-width或者是否有条件语句可以使用,所以媒体查询不适用于IE9?
答案 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>
以防止这种情况发生。