IE和透明背景

时间:2009-08-31 07:10:30

标签: css internet-explorer styles

我有以下css:

body {
     background-image: url(images/background.jpg);
     background-repeat: repeat-x;
     background-color: #99ccff;
}

不幸的是,在此页面上创建的任何div现在都自动拥有此颜色。如果应用于页面上的任何div,则以下都不起作用(它仍然采用上述颜色。

bacgkround: none;
background: transparent;
bacgkround-color: none;
background-color: transparent;

有人知道怎么解决这个问题(在IE中)? 即如何使div透明或没有背景颜色?

编辑: 我在这里上传了一个截图:http://www.namhost.com/bgtrans.jpg 基本上,背景是渐变图像,从深蓝色变为浅蓝色,即背景。在firefox中,说bradd pitt的区域是透明的,你看不到蓝色轮廓。但是,在IE中,您会看到屏幕截图中显示的内容。

以下是Firefox中可以看到的屏幕截图:http://www.namhost.com/bgtransfirefox.jpg

5 个答案:

答案 0 :(得分:2)

不确定这里出了什么问题(如果一切都出错了),透明并且没有意味着div不应该有自己的颜色,因此你会看到div通过父容器的背景....如果没有父母有颜色,那么你会看到身体/页面的背景

答案 1 :(得分:1)

你对背景颜色的假设似乎是错误的。

使背景透明意味着您将获得底层元素的背景。在这种情况下,我认为它是你的身体元素。由于您为body标签设置了背景颜色,因此所有背景颜色透明的元素都将显示正文的背景颜色。

<强> 编辑:

在阅读上述答案的评论后,我想是否显示图像路径,图像宽度和高度是否覆盖整个身体元素。

答案 2 :(得分:0)

答案 3 :(得分:0)

但我认为这是应该发生的事情。

如果没有为div指定背景颜色,则可以看到正文背景颜色。

特别是,如果你说div背景是透明的。

答案 4 :(得分:0)

不确定你的期望。我在firefox和IE中获得了这段代码的一致行为:

<html>
<style>
body
{
    background: green;
}
.a
{
    bacgkround-color: none;
}
</style>
<body>
<div class="a">hello</div>
<div>world</div>
</body>
</html>

如果这是一个更复杂的场景,你是否使用debugBar来检查应用的样式,或者至少在firefox上使用FireBug来查看实际应用的内容?