2010-06-28 169 views
3

打我試圖創建一個使用簡單<div>一個按鈕欄,並改變其不透明度爲50%,並給予背景與CSS透明度

但它來到這個師展覽中的一樣透明,因爲該元素的父<div>。我希望他們保持100%的不透明度。 (這是不可能的)。如何使這可能?

的什麼,我試圖做一個樣品CSS是這樣的

<style>  
    #bar { background:#09f;opacity:0.5; } 
    #bar a { background:#FF0;opacity:1; } 
</style> 
<div id="bar"> 
    <a href="#">Home</a> 
    <a href="#">Contact</a> 
    <a href="#">Feedback</a> 
</div> 

回答

6

您需要使用rgba屬性,由於透明度會影響所有的孩子。

#bar { background: rgba(0, 120, 255, 0.5); } 

克里斯Coyier(CSS-技巧)撰寫了一篇關於這個:http://css-tricks.com/rgba-browser-support/

+0

最可能的答案與RGBA 4帕拉姆:) +1 – RobertPitt 2010-06-28 10:26:08

+0

但這不是IE兼容 – Starx 2010-06-28 10:55:23

+0

@Starx既不'opacity'做的@RobertPitt說,包括在'rgba'作爲輔助參數,讓你有一個後備的IE瀏覽器。如果你想要一個更跨瀏覽器兼容的解決方案,使用oezi的回答是:透明PNG(不工作在IE6,雖然),這是不一樣僅使用CSS作爲流體,但將IE7 +工作。 – peirix 2010-06-28 13:01:56

1

,如果你只想要背景是不透明的,你可以使用一個透明的PNG或RGBA值作爲背景。否則這是不可能的(正如你所提到的)。