html - IE 在高度 > 4096px 时显示透明度错误?

标签 html css internet-explorer

当我在大页面上遇到问题时,我正在处理一个带有透明背景覆盖的 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>

最佳答案

由于您在 CSS 上有一个不透明度过滤器,我相信您在幕后间接使用 DirectShow 进行 alpha 混合和图像合成。 DirectShow 使用 DirectX 纹理,DX9 有 4096x4096 像素限制,这可以解释这种不稳定的行为。

关于html - IE 在高度 > 4096px 时显示透明度错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/775041/

相关文章:

html - 使用 goQuery 按 id 搜索标签

css - 如何用绝对位置给出最大宽度

javascript - Jquery Accordion 类型功能一次只能打开一个元素

css - 下拉用户菜单如何显示在所有div元素之上?

python - 如何在 Python 中检索和显示 Internet 历史信息?

internet-explorer - CSS3 变换 : rotate; in IE9

css - 验证 IE 特定的 CSS

php - mysql文本中出现奇怪的字符

javascript - 将 javascript 注入(inject)门户应用程序的 iframe

python - csv writer 在 python 中添加双引号两次