CSS不透明属性

时间:2011-11-23 05:56:13

标签: html css

您好我正在使用CSS Opacity属性作为div标签并且它运行良好但问题是当我在该div标签上写一些文本或粘贴图像时它们也会变淡。我只需要div背颜色即可淡化而不是div内容。我的代码是......

#fade div
{
opacity:0.1;
filter:alpha(opacity=10); /* For IE8 and earlier */
width:750px;
height:150px;
background-color:#FFFFFF;
}

#text in fade div
{
font-weight:bold;
color:#8A2BE2;
}

谢谢!!!

7 个答案:

答案 0 :(得分:11)

使用rgba()或透明PNG作为背景要容易得多。

rgba(0, 0, 0, .1);
rgba(0, 0, 0); //fallback

答案 1 :(得分:3)

您可以使用rgba()属性:

这样写:

#fade div
{
background-color: rgba(0,0,0,0.1);
width:750px;
height:150px;
background-color:#FFFFFF;
}

对于IE,您可以使用IE filter

background: transparent;-ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#19000000,endColorstr=#19000000)"; /* IE8 */    filter: progid:DXImageTransform.Microsoft.gradient(startColorstr=#19000000,endColorstr=#19000000);   /* IE6 & 7 */      zoom: 1;

您可以从http://kimili.com/journal/rgba-hsla-css-generator-for-internet-explorer/

生成过滤器

答案 2 :(得分:1)

只需使用1px半透明gif,然后用x和y重复它。据我所知,这是设置半透明背景的最简单方法。

答案 3 :(得分:0)

当然,不透明度也适用于子元素。你可以做的是选择你的标记。

<div id='Div-With-Opacity-set'>
</div>
<div id='Child-Elements-for-the-above-div'>
</div>

仔细对齐标记,使标记类似于您想要的标记。

答案 4 :(得分:0)

为什么不重置不透明度呢?

#text in fade div
{
    font-weight:bold;
    color:#8A2BE2;
    opacity:1;
    filter:alpha(opacity=100); /* For IE8 and earlier */
}

答案 5 :(得分:0)

没有CSS3你最好的选择可能是创建一个div并将另一个div放在它上面,但不要嵌套在它内部。不透明度使用不透明度设置过滤到元素内的所有元素。

如果你把div放在右边,然后给它一个-750px的边距;你可以给它一个不透明度为1,但它背后的div可能有0.1的不透明度,这样可以正常工作。

使用CSS3你可以这样做:

#fade 
{
width:750px;
height:150px;
background-color: rgba(255,255,255,0.1);
}

只有背景是0.1不透明度。该文本仍为1。

我个人最常做的是,我创建一个带有我想要的透明背景的小.png,然后我将.png设置为元素的背景。在Photoshop中,我可以将白色背景的不透明度设置为0.1,然后保存50X50的正方形,然后我的透明度几乎完美(没有IE6)。

答案 6 :(得分:0)

类似http://jsfiddle.net/PWM5f/你需要的东西