2013-09-26 37 views
1
<html> 
    <head> 
    <style> 
     #main{ 
     opacity:1 !important; 
     position:absolute; 
     width:500px; 
     height:500px; 
     top:150px; 
     left:300px; 
     } 
     body{ 
     opacity:0.3; 
     } 
    </style> 
    </head> 
    <body> 
    <div id="main"></div > 
    </html> 

這是代碼。其他方式來實現這一點。 在此先感謝。使用CSS屬性更改不透明度

回答

2

的這裏的問題是不透明是由div從身體繼承的。另外,它的透明度似乎不適用於身體本身(這讓我感到驚訝)。

如果你只是想要一個半透明的背景色,你應該使用background-color: rgba(x,x,x,x)。如果你想在身體透明的圖像,看這個問題:

CSS Opacity inheritance issue

+0

'opacity'絕對適用於'body'元素。 – BoltClock

+0

我有同樣的問題..我同意這個答案..檢查這個http://jsfiddle.net/girishgowdayt/XskGX/ –

+0

@BoltClock我把他的HTML/CSS在一個jsfiddle和由於某種原因,它不斷給我一個完全不透明的背景。不知道我是否也做錯了什麼(因此我注意到我很驚訝)。無論哪種方式,他的設置不會因繼承而起作用。 –

0

你想要什麼?我已經測試了你的代碼,對我來說這很好,我有一個沒有不透明體的身體,和一個不透明的主體。

+0

他希望周圍用另一種方式。我幾乎給出了相同的答案,但後來我再次讀到了這個問題。 ('最大不透明度'=完全不透明,這不是) –

+0

那他爲什麼不轉換屬性? – Azuken

+0

再次閱讀,他使用了正在嘗試完成的效果的正確屬性。它只是不這樣工作。他說:「我想將低透明度應用於身體,並將最大不透明度應用於ID Main」,並在body(低透明度)上使用.3,在#Main(最大不透明度)上使用.3。他的邏輯是正確的。 –

0

在CSS不透明度應用於您應用的不透明度爲元素的所有子元素,你可以放置一個div作爲覆蓋或底圖你想在這裏不透明度是fiddle

<body> 
<div class="overlay"></div> 
<div class="main"></div> 
</body> 

.overlay { 
    position:fixed; 
    width:100%; 
    height:100%; 
    opacity:0.3; 
}