如何在CSS中使div的背景颜色透明

我没有使用CSS3。所以我不能使用opacityfilter属性。如果不使用这些属性,我怎样才能使div背景色透明?应该像这个链接中的文本框例子一样。这里的文本框背景颜色是透明的。我想做同样的事情,但不使用上述的属性。

透明度 "的问题是,它也会影响到内容,而你往往不希望发生这种情况。

如果你只想让你的元素是透明的,这其实很简单,因为......。

background-color: transparent;

但如果你希望它是彩色的,你可以使用。

background-color: rgba(255, 0, 0, 0.4);

或者定义一个背景图片(1px1px),用正确的alpha保存。
(要做到这一点,请使用GimpPaint.Net或任何其他允许你这样做的图像软件。
只要创建一个新的图像,删除背景,并在其中加入一个半透明的颜色,然后将其保存为png格式)。

正如René所说,最好的办法是两者混合,先用rgba,如果浏览器不支持alpha,就用1px的图像作为退路。

background: url('img/red_transparent_background.png');
background: rgba(255, 0, 0, 0.4);

又见 : http://www.w3schools.com/cssref/css_colors_legal.asp

演示 :[我的JSFiddle](http://jsfiddle.net/APSnL/68/)

评论(2)
解决办法

不透明度给了你半透明或透明的感觉。请看一个例子[在这里摆弄][1]。

-ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)";       /* IE 8 */
filter: alpha(opacity=50);  /* IE 5-7 */
-moz-opacity: 0.5;          /* Netscape */
-khtml-opacity: 0.5;        /* Safari 1.x */
opacity: 0.5;               /* Good browsers */

注意:这些不是CSS3属性

http://css-tricks.com/snippets/css/cross-browser-opacity/

评论(12)
评论(2)