210

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

4

7 回答 7

386

问题opacity在于它也会影响内容,而您通常不希望这种情况发生。

如果你只是想让你的元素是透明的,它真的很简单:

background-color: transparent;

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

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

或者定义一个背景图片(1pxby 1px)用右边保存alpha
(为此,请使用GimpPaint.Net或任何其他允许您执行此操作的图像软件。
只需创建一个新图像,删除背景并在其中放置半透明颜色,然后将其保存为 png。)

正如René所说,最好的办法是将两者混合,如果浏览器不支持 alpha ,则将rgba第一个和1pxby 1pximage 作为后备:

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

另请参阅http ://www.w3schools.com/cssref/css_colors_legal.asp 。

演示我的 JSFiddle

于 2012-08-04T08:59:48.603 回答
144

不透明度为您提供半透明或透明度。请参阅此处的 Fiddle示例。

-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/

于 2012-08-04T09:03:22.777 回答
12

透明背景颜色的默认值

http://www.w3schools.com/cssref/pr_background-color.asp

于 2013-12-26T06:12:52.500 回答
7

来自https://developer.mozilla.org/en-US/docs/Web/CSS/background-color

设置背景颜色:

/* Hexadecimal value with color and 100% transparency*/
background-color: #11ffee00;  /* Fully transparent */

/* Special keyword values */
background-color: transparent;

/* HSL value with color and 100% transparency*/
background-color: hsla(50, 33%, 25%, 1.00);  /* 100% transparent */

/* RGB value with color and 100% transparency*/
background-color: rgba(117, 190, 218, 1.0);  /* 100% transparent */
于 2018-01-31T16:56:02.757 回答
2

讨论可能有点晚了,但不可避免地有人会像我一样偶然发现这篇文章。我找到了我正在寻找的答案,并认为我会发表自己的看法。下面的 JSfiddle 包括如何对 .PNG 进行透明分层。Jerska 提到了 div 的 CSS 的透明度属性是解决方案:http: //jsfiddle.net/jyef3fqr/

HTML:

   <button id="toggle-box">toggle</button>
   <div id="box" style="display:none;" ><img src="x"></div>
   <button id="toggle-box2">toggle</button>
   <div id="box2" style="display:none;"><img src="xx"></div>
   <button id="toggle-box3">toggle</button>
   <div id="box3" style="display:none;" ><img src="xxx"></div>

CSS:

#box {
background-color: #ffffff;
height:400px;
width: 1200px;
position: absolute;
top:30px;
z-index:1;
}
#box2 {
background-color: #ffffff;
height:400px;
width: 1200px;
position: absolute;
top:30px;
z-index:2;
background-color : transparent;
      }
      #box3 {
background-color: #ffffff;
height:400px;
width: 1200px;
position: absolute;
top:30px;
z-index:2;
background-color : transparent;
      }
 body {background-color:#c0c0c0; }

JS:

$('#toggle-box').click().toggle(function() {
$('#box').animate({ width: 'show' });
}, function() {
$('#box').animate({ width: 'hide' });
});

$('#toggle-box2').click().toggle(function() {
$('#box2').animate({ width: 'show' });
}, function() {
$('#box2').animate({ width: 'hide' });
});
$('#toggle-box3').click().toggle(function() {
$('#box3').animate({ width: 'show' });
 }, function() {
$('#box3').animate({ width: 'hide' });
});

我最初的灵感是:http: //jsfiddle.net/5g1zwLe3/ 我还使用paint.net 创建透明PNG,或者更确切地说是带有透明BG 的PNG。

于 2014-09-28T01:34:08.100 回答
0
    /*Fully Opaque*/
    .class-name {
      opacity:1.0;
    }

    /*Translucent*/
    .class-name {
      opacity:0.5;
    }

    /*Transparent*/
    .class-name {
      opacity:0;
    }

    /*or you can use a transparent rgba value like this*/
    .class-name{
      background-color: rgba(255, 242, 0, 0.7);
      }

    /*Note - Opacity value can be anything between 0 to 1;
    Eg(0.1,0.8)etc */
于 2019-11-12T06:35:21.717 回答
0

使用类似的东西

<div style='background-color: rgba(0, 0, 0, 0.4);'>

这将所述 div 的背景颜色设置为黑色,但也是 40% 透明。这不会改变 div 透明度的文本或内容。

于 2021-07-26T21:41:15.270 回答