如何在IE兼容模式下居中jquery对话框?

时间:2014-12-05 00:04:54

标签: javascript jquery css internet-explorer

我创建了一个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");
            }
        });
    }
}

1 个答案:

答案 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规则。

问候。