Css 在IE中使图像透明以显示不透明背景
我正在尝试让这个东西在IE中工作(任何版本-在FF、Opera、Safari、Chrome中工作…): 我有一个有背景图像的DIV。DIV还包含一个在mouseover上应该是透明的图像。现在的预期行为是,DIV背景将通过透明图像发光(除IE外,它在所有浏览器中都会这样做)。Css 在IE中使图像透明以显示不透明背景,css,internet-explorer,image,background,transparent,Css,Internet Explorer,Image,Background,Transparent,我正在尝试让这个东西在IE中工作(任何版本-在FF、Opera、Safari、Chrome中工作…): 我有一个有背景图像的DIV。DIV还包含一个在mouseover上应该是透明的图像。现在的预期行为是,DIV背景将通过透明图像发光(除IE外,它在所有浏览器中都会这样做)。 相反,它看起来像是图像变得透明,但在白色背景上,我无法通过图像看到DIV的背景 下面是一些代码: <div><a href="#" class"dragItem"><img /><
相反,它看起来像是图像变得透明,但在白色背景上,我无法通过图像看到DIV的背景 下面是一些代码:
<div><a href="#" class"dragItem"><img /></a></div>
所有这些都嵌入到Dojo Drag-n-Drop-system中,因此,dojoDndItemOver
将自动设置为鼠标上方的DIV,dragItem
设置为图像周围的href(直接在图像上使用同一类根本不起作用,因为IE不支持对href的其他项目进行“悬停”)
有什么想法吗?还是IE的一个特长就是通过某种方式将图像变灰来“模拟”透明度,而不是提供真实的透明度并显示下面的内容?IE使用CSS
过滤器:alpha(不透明度=x)
。您还可以将其应用于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。我已经在使用过滤器(见上面我的CSS),我不想让背景透明,但我想让一个图像(可以是任何格式)让不协调的背景发光,另外,使用透明PNG还需要第二个图像,这不是一个真正的选项
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;
}
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*/}