模态叠加是否需要绝对定位?

时间:2012-03-08 17:10:43

标签: javascript html css

以下是我所谈论的JS小提琴:

http://jsfiddle.net/r77K8/98/

我的叠加层显示已禁用链接,但链接仍然可以点击。我查看了模态对话框窗口的一些示例,希望找到解决方案。据我所知,我需要使用绝对定位。

我对此犹豫不决,因为实际上我的内容是动态填充的。尝试保持叠加层的正确尺寸似乎有很多额外的工作 - 我真的很喜欢它现在看起来如何,我只想在叠加层是父窗口时使控件不可点击。这可能吗?

1 个答案:

答案 0 :(得分:1)

在您的示例中,看起来您正在尝试禁用覆盖div中的内容。为了使其工作,您需要将叠加div放在内容上,然后将其放在内容之后。这样就可以掩盖你的内容div。

是的,你的叠加层应该有绝对定位,这样你就可以把它放在父容器的右上角,并给它100%的宽度和高度,以便它覆盖整个父容器。

有关示例,请参阅this jsfiddle


修改

请尝试使用this example。将内容和叠加层放在容器中。这样,叠加层将只占用页面的那一部分。

请注意,容器div(divLink1divLink2)必须position:relative才能生效。根据{{​​3}}中的absolute描述,“元素相对于其第一个定位(非静态)祖先元素定位。”因此,您必须将容器设置为position:relative,但实际上不要移动它们。