Я работал над диалоговым окном JavaScript с наложением прозрачного фона, когда столкнулся с проблемой на больших страницах.
Если бы страница была большой, прозрачное наложение было бы сплошным (т.е. больше не прозрачным). Я провел некоторое тестирование и обнаружил, что это произошло только в том случае, если оверлей был выше 4096 пикселей (хм, подозрительно, это 2 ^ 12).
Может кто-нибудь проверить эту проблему? Вы видели обходной путь?
Вот мой тестовый код (я использую Prototype):
<style>
.overlayA {
position:absolute;
z-index:10;
width:100%;
height:4095px;
top:0px;
left:0px;
zoom: 1;
background-color:#000;
filter:alpha(opacity=10);
-moz-opacity:0.1;
opacity:0.1;
}
.overlayB {
position:absolute;
z-index:10;
width:100%;
height:4097px;
top:0px;
left:0px;
zoom: 1;
background-color:#000;
filter:alpha(opacity=10);
-moz-opacity:0.1;
opacity:0.1;
}
</style>
<div style="width:550px;height:5000px;border:1px solid #808080">
<a href="javascript:// show overlay A" onclick="Element.show('overlayA')">Display A = 4096h</a>
<br /><a href="javascript:// show overlay B" onclick="Element.show('overlayB')">Display B = 4097h</a>
</div>
<div id="overlayA" onclick="Element.hide(this)" class="overlayA" style="display:none"></div>
<div id="overlayB" onclick="Element.hide(this)" class="overlayB" style="display:none"></div>