2011-11-28 86 views
1

我想嵌入一个DIV在另一个DTE中,而不继承包装DIV的不透明度样式。Div样式继承问题

样式代码:

#outer { 
background-color: #000; 
width: 400px; 
height: 400px; 
z-index: 0; 
opacity: 1; 
} 

#inner { 
background-color: #000; 
width: 200px; 
height: 200px; 
z-index: 1; 
opacity: 0.5; 
} 

HTML代码:

<div id="outer"> 
    <div id="inner"> 
    </div> 
</div> 

我已经尝试了一些不同的解决方案,但都没有工作至今。

+0

该div是否需要嵌套?我一直通过使用绝对定位在透明div上放置一个不透明的div来解决这个问题。 –

回答

1

您可以使用CSS3s rgba属性来解决该问题(适用于颜色)。

background-color: rgba(0, 0, 0, .7); 

如果你想支持不支持CSS3或rgba财产旧的浏览器(或当你有背景图片),这里是链接到其他可能的解决方案:

其他跨浏览器解决方案是使用半透明PNGs为您的divs。

+0

如果您只想要颜色,请定义答案。 +1 – scottheckel

+0

@Hexxagonal:更新,谢谢:) – Sarfraz

+1

是的,这是唯一的解决方案!这个答案说明了这一切 – peduarte

1

你没办法做那个人。

两种解决方案,如果它只是背景颜色,你可以:

  1. 使用透明的PNG图片

  2. 使用RGBA。例如,对于具有60%透明度的黑色:background-color: rgba(0, 0, 0, .6);

+0

这个功能完美,但受限于支持CSS3的浏览器。我在IE8中试过,它不能正常工作。看起来我的选择将是透明的图像。 – Andy