我正在设计一个同时使用视差滚动和模态框的网站。当您打开其中一个模式框时,我使用 jQuery 和 CSS 向弹出窗口的 DIV 元素添加一个类,使其不透明度从 0 变为 100;我正在使用过渡使这看起来很漂亮。当您关闭该框时,jQuery 会剥离该类以将不透明度设置回 0。
为了使模态框更具可读性,我在它们后面放置了一个覆盖层(实际上是一个包含 DIV),它使用 100% 的宽度和高度覆盖屏幕其余部分的透明度。当盒子打开时,我也使用相同的技巧将它的不透明度从 0 变为 100,反之亦然。
问题在于,即使在不透明度为 0 时,叠加层仍然在某些屏幕“上方”,呈现链接和文本可查看但不可选择。当要隐藏叠加层时,我尝试将 Z-Index 设置为 0 和 -1,但是因为视差滚动(我使用的是自定义版本的 SCRN 模板,供参考http://rodrigob.com /themes/scrn/ ) 使用相对、固定和绝对定位,Z-Index 仅适用于某些站点。
作为一种解决方法,使用 Visibility:Hidden 设置覆盖的样式(与 Display:None 一样,但出于可访问性的原因我想避免这种情况),但这不能通过转换来管理,所以当模式关闭时,它就会消失而不是很好地淡出。
有没有办法解决?我认为在从 100 不透明度过渡到 0之后将可见性设置为隐藏会起作用,但我不知道如何做到这一点,如果它甚至可以做到的话。
提前致谢。