2009-02-05 83 views
0

嘿,我有這個div顯示爲彈出:透明DIV問題

<div class="popup"> 
</div> 

然後用jQuery添加其他類將它與相關的那類,位置,大小,顏色的CSS給它和透明度:

.show { 
    position: absolute; 
    color: #F4F5F6; 
    width: 600px; 
    margin-left: -300px; 
    height:300px; 
    background: #000000; 
    left:50%; 
    top:200px; 

    filter:alpha(opacity=95); 
    -moz-opacity: 0.95; 
    opacity: 0.95; 
} 

我的問題是這樣的:

我添加文本和圖像到div。

結束了,如:

<div class="popup show"> 
    <div class="image"> 
     <img scr="blabla.png"> 
    </div> 
    <div class="text"> 
     ble ble ble 
    </div> 
</div> 

我的問題是下面的,即使我在這裏重寫的不透明度:

div.image 
{ 
    position: relative; 
    float:left; 
    width:202; 
    height:402; 
    filter:alpha(opacity=100); 
     -moz-opacity: 1; 
     opacity: 1; 
} 

的圖像仍然具有透明度apears。

有沒有辦法重寫不透明度值,而不必將圖像div放在彈出式div外面?

回答

2

由於'.show'類的不透明度爲95%,其所有後代也是如此。這是不幸的,但這是不透明的作品。只要他們仍然是子孫後代,後代就無法克服祖先的不透明性。

你必須要麼設置「.show」背景的半透明PNG或導致一些尷尬的HTML(參見:Non-Transparent Elements Inside Transparent Elements

並不想成爲生澀,但this Google search(或類似的東西)可能會幫助

2

試試這個:

div.image 
{ 
position: relative; 
float:left; 
width:202; 
height:402; 
filter:alpha(opacity=100) !important; 
    -moz-opacity: 1 !important; 
    opacity: 1 !important; 
} 

http://www.w3.org/TR/CSS2/cascade.html#important-rules

編輯:對不起;我甚至曾經遇到過這種情況,但並沒有被絞死。我認爲嵌套元素的最大不透明度與外部元素的不透明度相同;你永遠不會得到比你的父元素更不透明的東西!最後我檢查了這是一個適當的CSS問題,我不知道解決方法。

作爲一種解決方法,您可以嘗試不使嵌套,但使用一些ucnning定位欺騙。

+0

仍然保持透明 – fmsf 2009-02-05 15:15:21

+0

@edit:是的,這就是我正在做的,但仍然試圖找出解決方案:) – fmsf 2009-02-05 15:24:15