我正在尝试制作一个简单的 Overlay 模块,使我能够将叠加层放在自定义 DOM 元素上。问题是覆盖 div 的 css 指定位置:绝对。但是应该应用覆盖的元素可以具有 position:static 在这种情况下应用覆盖不正确。如何克服这个问题?我想出了这个,但我不确定它是否好。
//js
if ($(elem).css('position') == 'static') {
$(elem).css('position', 'relative');
}
$('<div></div>').prependTo(elem).addClass('overlay').css('z-index', 100);
// css
div.overlay {
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: #000;
opacity: 0.75;
filter: alpha(opacity=75);
}