我创建了一个jquery对话框,当它不在兼容模式下时,它在IE中工作正常。但是,我的公司要求IE的兼容模式用于某些遗留代码。以下是我到目前为止的情况。关于如何更改它以便在使用iE兼容性时它将显示在中心的任何想法?
var originalColor;
function Form2958MessageBox(isValid) {
var target = $(this);
if (isValid) {
$("#Form2958DataGridSuccess").dialog({
position: { my: "center", at: "center"},
title: "Successful Submission!",
modal: true,
buttons: {
"Close": function () {
$(this).dialog("destroy");
}
}
});
}
else {
$("#Form2958DataGridFailure").dialog({
position: { my: "center", at: "center", of: target},
title: "Submission Errors Found",
modal: true,
buttons: {
"Close": function () {
$(".ui-dialog-title").css("color", originalColor);
$(this).dialog("destroy");
}
},
create: function (e, u) {
originalColor = $(".ui-dialog-title").css("color");
$(".ui-dialog-title").css("color", "red");
}
});
}
}
答案 0 :(得分:0)
IE兼容模式(IE7仿真)模拟IE7及更低版本,并且无法识别css margin属性的自动规则。
您可以向div添加一个align属性,以允许它优雅地回退。
< div align =“center”style =“margin:0 auto; text-align:left; vertical-align:top”>
您可能还必须指定文本对齐规则(如上所述);
您的网页可能无法在validator.w3.org上验证,但您可以放心地忽略警告/错误。
或
您可以将x-ua IE = Edge元数添加到您的页面,以强制任何IE7浏览器或任何仍在使用IE8并且“在兼容性视图中显示所有网站”的用户强制执行IE8 +渲染和css 2.1合规性。如果您的站点是Intranet站点并且您已在兼容性视图中强制执行“显示Intranet站点”,请使用x-ua meta。
IE7仿真也不支持静态定位.....你的div覆盖应该绝对或相对定位; IE7仿真中静态定位的解决方法是在.static类上使用MSIE calc规则。
问候。