在IE中使图像透明以显示非

我试图让这个东西在IE中工作(任何版本 - 适用于FF,Opera,Safari,Chrome ...):

我有一个背景图像的DIV。 DIV还包含一个在MouseOver上应该透明的图像。 现在预期的行为是DIV背景将透过透明图像(它在所有浏览器中都可以实现,但IE)。
相反,它看起来像图像变得透明,但在白色背景下,我无法通过图像看到DIV的背景。

以下是一些代码:

<div><a href="#" class"dragItem"><img /></a></div>

和一些CSS:

  .dojoDndItemOver {
    cursor         : pointer;
    filter         : alpha(opacity = 50);
    opacity        : 0.5;
    -moz-opacity   : 0.5;
    -khtml-opacity : 0.5;
  }
  .dragItem:hover {
    filter         : alpha(opacity = 30);
    opacity        : 0.3;
    -moz-opacity   : 0.3;
    -khtml-opacity : 0.3;
    background     : none;
  }

所有这些都嵌入在Dojo Drag-n-Drop系统中,所以dojoDndItemOver会自动设置为MouseOver上的DIV, dragItem设置为图像周围的href(使用图像上的同一类直接不起作用因为IE不支持在其他项目上“悬停”href)。

有任何想法吗? 或者,它是一种IE专业,只是通过某种方式“模拟”图像的透明度而不是提供真正的透明度并展示下面的任何内容?


a.dragItem {/*Background behind the image*/}
a.dragItem img {/*Image is opaque, hiding the background*/}
a.dragItem:hover img {/*Image is transparent, revealing the background*/}

IE使用CSS filter:alpha(opacity=x)取自w3Schools CSS Image透明度。 您也可以将其应用于DIV背景。

div.transbox
  {
  width:400px;
  height:180px;
  margin:30px 50px;
  background-color:#ffffff;
  border:1px solid black;
  /* for IE */
  filter:alpha(opacity=60);
  /* CSS3 standard */
  opacity:0.6;
  }

我认为过滤器是一个坏主意,所以你也可以在IE中使用透明PNG,如下所示。

链接地址: http://www.djcxy.com/p/89311.html

上一篇: Make an image transparent in IE to show non

下一篇: Transparent PNG as Background Image