2011-04-06 46 views
0

我有一个巨大的问题搞清楚如何使用透明的背景颜色为我的网站。我可以使用背景:rgba样式属性,它适用于所有浏览器期望的即。尽管在IE中很难做到这一点。您可以使用不透明度或过滤器:alpha,但这会使div内的所有内容变得透明。我不希望我只想让背景颜色透明。我该如何做到这一点,请帮助我一直在寻找互联网上的解释,并找不到解决方案。背景透明crossbrowser特别是即

+1

当处理4通道合成时,IE难以置信地受到脑损伤。 – Pointy 2011-04-06 16:07:59

+0

我想你可以简单地把一个透明的GIF文件作为你的div的背景。 – 2011-04-06 16:10:16

+0

@ Coding-Freak我强烈怀疑这个问题涉及到带有alpha通道的PNG背景。 – Pointy 2011-04-06 16:10:53

回答

1

您可以解决此通过层叠两个单独的DIV,一个是透明度和一个用于实际的内容:

.container { 
    position: relative; 
} 

.container .transparency { 
    position: absolute; 
    z-index: 1; 
    background-color: ...; 
    opacity: ...; 
    /* apply same width and height as parent DIV */ 
} 

.container .content { 
    position: absolute; 
    z-index: 2; 
    /* apply same width and height as parent DIV */ 
} 
+0

如果你能修正两个高度,那效果很好。或者,通过JS调整两个高度,使它们匹配。 – 2011-04-06 16:14:07

0

我建议使用一个大的半透平面彩色PNG为IE部分。根据旧IE版本需要走多远,您可能还需要使用一些JS才能使透明PNG工作。

1

您可以使用Photoshop将背景图像的不透明度设置为50%,然后使用它。

如果要使用Jquery或JavaScript更改不透明度,可以将背景图像更改为相同背景图像的不透明版本。