gpt4 book ai didi

html - IE8 不透明度问题

转载 作者:行者123 更新时间:2023-11-28 02:12:12 27 4
gpt4 key购买 nike

我知道这里有无数关于 IE 不透明问题的问题。我经历了几乎所有的方法,并尝试了几乎所有我设法找到的可用方法,但没有任何效果。

最奇怪的是,不透明度问题是一个孤立的案例,只发生在 IE8 上; IE7 没有任何问题。在继续谈论我面临的问题之前,让我向您展示我正在开发的单页 HTML 网站中的标记示例:

这是控制相关 DIV 不透明度的 CSS:

#home, #services, #freeport, #about-us, #advantage, #contact{
opacity:0;
-ms-filter:"progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
filter: alpha(opacity=0);
width:400px;
zoom:1;
}

这是我用来控制不透明度设置的 JQUERY:

$(document).ready(function(){ //fades in the menu div first followed by the home div

(function _loop( nodelist ) {
$( nodelist.shift() ).fadeTo( 2400, 1, function() {
_loop( nodelist );
});
}( ["#menu", "#home"] ));

$("#about-us-button").click(function(){ //upon clicking the home button, fades in the home div and fades out the rest of the divs
$("#about-us").fadeTo(900, 1);
$("#home, #freeport, #advantage, #services, #contact").fadeTo(1000, 0);
});

});

注意:我只展示了#about-us div 在单击#about-us-button 时是如何淡入的;其余部分的工作方式相同。还省略了 HTML,因为它非常简单 - 包含一些文本的 DIV 容器,仅此而已。

所以应用上面提到的 CSS 样式,我已经设法让 DIV 在除 IE8 之外的所有浏览器(包括 IE7)中出现在正确的实例中。

最让我困惑的是过滤器在 IE7 中工作,但据说是 IE8 特定的 -ms-filter 却无法工作。我已经阅读了 HasLayout 问题并应用了所有方法都无济于事。我还确保 -ms-filter 出现在 filter 之前,但这也不起作用。

我还使用元标记方法让 IE8 模拟 IE7,但不幸的是,这也失败了。

应该注意的是,我已将其标记为 HTML5,在遇到此问题后,我已将其标记为 XHTML 1.0 Transitional 和 HTML 4.0,但没有任何效果 - 即使是 IE8 as IE7 方法。

有人知道可以做些什么来解决这个问题吗?提前谢谢大家!

最佳答案

不久前我遇到了类似的问题。我不记得确切的细节,但我相信发生的事情是 jQuery 会在元素级别设置一个不透明度值,并在它淡入时不断更改它——然后一旦淡入淡出就会将属性留在那里,但是空白,覆盖 CSS 文件的不透明度。您应该能够使用 Firebug 或 Chrome 中的元素检查器仔细检查这一点。

我相信这就是我用来修复错误的方法,强制 jQuery 在完成时清理该属性,以便我的 CSS 文件中指定的不透明度属性实际上可以生效。当然,调整它以适合您的代码。

$("#darkbg, #popup-movie-panel").fadeIn(300, function(){
if(jQuery.browser.msie) {
this.style.removeAttribute('filter');
}
})

关于html - IE8 不透明度问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7632686/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com