カスタムDOM要素にオーバーレイを配置できる単純なオーバーレイモジュールを作成しようとしています。問題は、オーバーレイ div の css が position:absolute を指定していることです。ただし、オーバーレイを適用する必要がある要素に 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);
}