根据当前屏幕窗口大小设置模态窗口的最大高度

时间:2015-02-02 22:36:36

标签: javascript jquery html css razor

我有以下脚本,它将显示部分视图的模态窗口: -

$(function () {
        $.ajaxSetup({ cache: false });
        $("a[data-modal]").on("click", function (e) {        
            $('#myModalContent').load(this.href, function () {
                $('#myModal').modal({
                    keyboard: true
                }, 'show');

                bindForm(this);
            });
            return false;
        });


    });

我设置了以下css: -

#myModalContent {
   max-height: 400px;
   overflow-y: auto;
}

但是,在小尺寸窗口上,如果实际屏幕尺寸小于此值(例如在移动屏幕中),则400px的最大高度将不一致。 所以我的问题是如何将模态窗口的最大高度设置为当前屏幕尺寸的80%?

由于

4 个答案:

答案 0 :(得分:3)

$("#myModalContent).css("max-height", screen.height * .80);

怎么样?

这可能有效

答案 1 :(得分:0)

在样式表中使用%而不是px

答案 2 :(得分:0)

对于纯css解决方案。

#modalname .modal-body {
    max-height: calc(100vh - 200px);
    overflow-y: auto;
}

这里100vh-> 100%的高度。 200px是模态页眉和页脚使用的近似组合空间(高度)。

css解决方案比js更好,因为窗口大小改变,它将直接调整模态的高度。

答案 3 :(得分:-1)

使用此:

#myModalContent {
    height:400px;
    max-height:80%;
    overflow-y:auto;
}

也许你还需要:

html, body {
    height:100%;
}