【发布时间】:2013-08-20 17:50:18
【问题描述】:
我在我的一个项目中使用Simplemodal JQuery 插件。我试图让模态填充整个浏览器窗口,但似乎遇到了麻烦。在 CSS 中将模态容器的宽度和高度显式设置为 100% 并不能解决问题。
我也在尝试使用minWidth 和minHeightoptions,但这仍然行不通。有什么建议吗?
【问题讨论】:
标签: javascript jquery simplemodal
我在我的一个项目中使用Simplemodal JQuery 插件。我试图让模态填充整个浏览器窗口,但似乎遇到了麻烦。在 CSS 中将模态容器的宽度和高度显式设置为 100% 并不能解决问题。
我也在尝试使用minWidth 和minHeightoptions,但这仍然行不通。有什么建议吗?
【问题讨论】:
标签: javascript jquery simplemodal
只需调用 modal 并传递明确的 css 参数即可:
$('#basicModalContent').modal({containerCss: {left: 0, top: 0, width: '100%', height: '100%'}});
【讨论】:
width: $(window).width()
$('#basicModalContent').modal({containerCss: {left: 0, top: 0, width: '100%', height: '100%'}});
嗯,模态框将有position: absolute,因此您将无法使用 100% 的宽度和高度来填充视口。
这是来自 simplemodal 文档:
maxHeight [Number:null] 容器的最大高度。如果不 指定时,使用窗口高度。
maxWidth [Number:null] 容器的最大宽度。如果不 指定时,使用窗口宽度。
因此,当您实例化一个简单模式时,只需为这些选项添加一个非常高的数字。它应该使它填满视口:
$("#element-id").modal({
maxHeight: 10000,
maxWidth: 10000
})
如果这不起作用,您始终可以使用 $(window).height() 和 $(window).width() 获取视口的高度。然后你可以显式设置模态:
var windowHeight = $(window).height();
$('#modal-id').height( windowHeight );
您必须测试所有浏览器,因为在某些情况下它可能看起来很时髦。
【讨论】:
jQuery“模态对话框”只是页面上所有其他元素之上的一个 div,通常具有覆盖其余区域的半透明背景。 i-frame 具有受限的比例。
你也许可以参考parent.window,所以modal不局限于iframe区域。
在父页面上有一些脚本来执行请求可能更容易。
【讨论】: