Html Internet Explorer中的透明背景渲染白色

Html Internet Explorer中的透明背景渲染白色,html,css,internet-explorer,internet-explorer-8,jquery-cycle,Html,Css,Internet Explorer,Internet Explorer 8,Jquery Cycle,在我的页面布局中,我有两个标记。一个带有id#图像面板,另一个带有#图像内容面板。 两个使用位置:绝对堆叠在一起#图像内容面板(具有更高的z索引)位于#图像面板的顶部。 两个都有背景:透明 该页面在Chrome、Safari和Firefox中呈现良好,即我可以通过文本(标题和段落等)看到图像。但在IE(第8版)#图像内容面板被重新设计为白色背景 您可以看到下面的屏幕截图: 相关CSS和HTML代码: 我想在IE中也呈现同样的页面。 感谢您的帮助。 如果无法解决此问题,请提出替代解决方案。

在我的页面布局中,我有两个
标记。一个带有id
#图像面板
,另一个带有
#图像内容面板
。 两个
使用
位置:绝对
堆叠在一起<代码>#图像内容面板
(具有更高的
z索引
)位于
#图像面板
的顶部。 两个
都有
背景:透明

该页面在Chrome、Safari和Firefox中呈现良好,即我可以通过文本(标题和段落等)看到图像。但在IE(第8版)
#图像内容面板
被重新设计为白色背景

您可以看到下面的屏幕截图:

相关CSS和HTML代码:

我想在IE中也呈现同样的页面。 感谢您的帮助。 如果无法解决此问题,请提出替代解决方案。

更新 将为旧版本IE中的元素添加背景色

在循环初始化过程中,需要将
cleartypeNoBg
选项设置为
true

$("#image-content-panel").cycle({
    fx : 'scrollRight',
    speed : 2700,
    cleartypeNoBg: true 
});
编辑以下内容不相关

IE8不支持rgba值,将退回到纯色。如果您不定义回退,它将默认为白色,这就是您所看到的

有两种方法可以解决这个问题

1。接受IE8的限制。

    #header {
        z-index: 100 !important;
        width: 100%;
        height: 50px;
        background: rgb(0,0,0);
        background: rgba(0,0,0,0.6);
        margin: 10px 0 0 0;
    }
#header
将在不支持的浏览器中具有坚实的黑色背景;我不支持rgba。在浏览器中是半透明的

2.使用过滤器

    #header {
        z-index: 100 !important;
        width: 100%;
        height: 50px;
        background: rgba(0,0,0,0.6);
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)"
        margin: 10px 0 0 0;
    }
#标题
在IE8和合适的浏览器中有60%的透明黑色背景。就我个人而言,我讨厌使用过滤器。它们使您的标记变得可怕,并且很难维护,除非您擅长在头脑中将rgb转换为十六进制代码(我不是)。另外,这个特殊的过滤器是IE8+。它在IE7中不起作用,尽管还有其他过滤器在IE6-7中起作用。您可能还应该将其分离到特定于IE8的样式表中,或者使用其他一些方法来防止IE9使用过滤器,因为IE9支持rgba

3.使用1px x 1px黑色半透明.png

    #header {
        z-index: 100 !important;
        width: 100%;
        height: 50px;
        background: url(background.png) repeat;
        margin: 10px 0 0 0;
    }
这是我通常走的路线,因为它很简单。如果您需要更改alpha,并且不需要担心浏览器不一致,那么创建.png需要几秒钟的时间。

更新 将为旧版本IE中的元素添加背景色

在循环初始化过程中,需要将
cleartypeNoBg
选项设置为
true

$("#image-content-panel").cycle({
    fx : 'scrollRight',
    speed : 2700,
    cleartypeNoBg: true 
});
编辑以下内容不相关

IE8不支持rgba值,将退回到纯色。如果您不定义回退,它将默认为白色,这就是您所看到的

有两种方法可以解决这个问题

1。接受IE8的限制。

    #header {
        z-index: 100 !important;
        width: 100%;
        height: 50px;
        background: rgb(0,0,0);
        background: rgba(0,0,0,0.6);
        margin: 10px 0 0 0;
    }
#header
将在不支持的浏览器中具有坚实的黑色背景;我不支持rgba。在浏览器中是半透明的

2.使用过滤器

    #header {
        z-index: 100 !important;
        width: 100%;
        height: 50px;
        background: rgba(0,0,0,0.6);
        -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)"
        margin: 10px 0 0 0;
    }
#标题
在IE8和合适的浏览器中有60%的透明黑色背景。就我个人而言,我讨厌使用过滤器。它们使您的标记变得可怕,并且很难维护,除非您擅长在头脑中将rgb转换为十六进制代码(我不是)。另外,这个特殊的过滤器是IE8+。它在IE7中不起作用,尽管还有其他过滤器在IE6-7中起作用。您可能还应该将其分离到特定于IE8的样式表中,或者使用其他一些方法来防止IE9使用过滤器,因为IE9支持rgba

3.使用1px x 1px黑色半透明.png

    #header {
        z-index: 100 !important;
        width: 100%;
        height: 50px;
        background: url(background.png) repeat;
        margin: 10px 0 0 0;
    }

这是我通常走的路线,因为它很简单。如果您需要更改alpha,并且不需要担心浏览器不一致,那么创建.png需要几秒钟。

正如其他人所说,IE8不支持RGBA颜色值

不过,有一种黑客可以用来解决这个问题:我建议在你的网站上试用;它在IE的旧版本中实现了许多现代CSS功能,包括背景中的RGBA颜色


希望能有所帮助。

正如其他人所说,IE8不支持RGBA颜色值

不过,有一种黑客可以用来解决这个问题:我建议在你的网站上试用;它在IE的旧版本中实现了许多现代CSS功能,包括背景中的RGBA颜色


希望对您有所帮助。

看到这个,请将代码放入jsfiddle.net。这样,我们中的一些人就更容易找出问题所在。另外,我想建议的另一种解决方案是为IE8使用单独的样式表。这样,我们中的一些人就更容易找出问题所在。另外,我想建议的另一个解决方案是为IE8使用一个单独的样式表。我认为我没有充分解释我自己。我的问题与
#标题
或其背景无关。它是关于
#图像内容面板
的,它的背景是透明的,但在IE中使用白色背景进行渲染,所以我看不到它后面的图像。图像被
#图像内容面板部分隐藏。请比较两张截图!你从哪里得到的
cleartypeNoBg:true
东西?。我希望我能投两次票。谢谢我以前用过。它将在循环选项参考中提及。干杯我想我解释得不够清楚。我的问题与
#标题
或其背景无关。它是关于
#图像内容面板
的,它的背景是透明的,但在IE中使用白色背景进行渲染,所以我看不到它后面的图像。图像被
#图像内容pa部分隐藏