2012-11-29 45 views
1

我正在制作一个包装所有我的内容的包装div,我给我的包装一个背景纹理,我想给它不透明。但是,尽管我将遮罩设置为不透明,但其所有子项(包含文本和图像的Web内容都变为半透明),但我如何才能将透明度设置为父级透明度?如何让父母透明但不是孩子?

+1

可能重复:http://stackoverflow.com/questions/10879045/how-to-set-opacity-in-parent-div-and -not-effect-in-child-div –

+0

如果它是一个纹理(图像),很简单,你不能。你将不得不把孩子拉出来,然后这样做。或者,使用透明图像(png)或使用背景颜色并将其设置为RGBA(使背景颜色透明但不是儿童) – Andy

回答

1

嗨我提到的财产,通过在其中你可以增加和减少不透明度的parent container背景,并不会影响child container。这很简单,看到css基本上你必须使用rgba这里rgb为背景色& a-alpha为不透明。

CSS

background:rgba(0,0,0,0.1);

DEMO

0

如果一个元素是透明的,那么它包含的所有元素都将是透明的。

这听起来像你真正想要的是一个半透明的背景。如果它是您使用的纹理,那么您需要使用图像编辑工具使纹理半透明并将其保存为PNG。

+0

然后,为什么此示例的transbox上的文本不会变为透明?http:// www。 w3schools.com/css/css_image_transparency.asp – FatDogMark

+0

文本是透明的。 – nirazul

2

不要用户opacity,好像会过滤掉。改为使用带alpha的背景颜色。

background-color: rgba(255,255,255,0.5); 

由于您使用的图像,你最好的选择可能是烘烤透明度的图像(吮吸,因为你可以不褪色等),或尝试移动带孩子出去纹理样式表级联线。

+0

这不适用于OP,因为他指定他有背景纹理。 – PhonicUK

相关问题