2011-10-09 113 views
0

這裏是我的代碼:透明度的重要不起作用

<tr style="opacity: 0.5;"><td><img style="opacity: 1.0 !important;" src="/img/crap.png"/><div>Some text, etc...</td></tr> 

我wan't圖像與完全不透明地顯示,和休息應該只有50%的不透明度,我已經還試圖!important屬性,但它不起作用。我也嘗試將這些樣式移動到CSS文件中的類。圖像總是有50%的不透明度。

我該如何解決這個問題?

+0

我認爲這篇文章應該可以幫助您: http://stackoverflow.com/questions/7696364/translucent-background-color-with-opaque-border –

+0

@ vantrung-cuncon感謝:-)請發帖回答與那..所以我可以接受它:) – Rym

回答

1

存在與您的問題相同的問題。

的鏈接來到這裏:

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

約RGBA一篇好文章可以在這裏找到:CSS RGBA

Set div's background transparent but not the borders

的戰略是使用CSS的 「背景」 的顏色和不透明性

希望得到這個幫助。 :)

+0

謝謝;] Rym

2

如果錶行都有0.5不透明然後設置<img>的不透明度,只是將其設置爲的0.51.0(或100%),一個的不透明度,如果它的祖先。

您需要將表格行不透明度設置爲1.0才能完成此工作。

+0

但我不希望表背景有50%的不透明度。 – Rym

+0

然後''只需要在''之外;否則它將始終(正確)具有與其祖先相同的不透明度。 – Clive

+0

嗯,但這不是一個答案。我知道我必須將表格行不透明度設置爲1.0來完成這項工作,所以您的解決方案(無法找到任何btw)不起作用。 – Rym

0

不透明度解釋是相對父元素的不透明度(不幸)。因此,通過在TR上設置不透明度0.5,每個子元素最多有0.5的不透明度......除非你使用RGBA:

tr { 
    background: rgb(0, 0, 0) transparent; /* Fallback for web browsers that doesn't support RGBa */ 
    background: rgba(0, 0, 0, 0.5); /* RGBa with 0.5 opacity */ 
    filter:progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000); /* For IE 5.5 - 7*/ 
    -ms-filter: "progid:DXImageTransform.Microsoft.gradient(startColorstr=#99000000, endColorstr=#99000000)"; /* For IE 8*/ 
} 

然後在上面一切都將有whtever你設置不透明度。

+0

它失敗了,因爲我想在某個表格行上使用自己的背景顏色:/ – Rym