2010-04-07 66 views
1

任何人都可以告訴我如何使一個div的背景透明,但有一個顏色,如黑色的色彩。我試過這個使用CSS,雖然我只能讓div是透明的或填充顏色。
感謝您的幫助!透明的div背景,色彩的色調?

+0

感謝所有的答案。 我已經把它整理好了。謝謝! – 2010-04-07 18:38:48

回答

5

opacity按佩卡的答案,但它會使DIV透明,以及背景的內容。如果這不是你想要的,你可以:

  1. 有兩個div,一個有作爲背景的不透明度/α,而另一個固體一個定位在它上面的內容。然而,對於可變大小的元素來說,定位可能會很棘手。或者,

  2. 使用半不透明的背景,或者通過使用rgba() colour(在比IE其他瀏覽器)的,或與α-信道(這在IE7-8工作,但需要一個AlphaImageLoader修復的IE6一個PNG背景圖像,這也意味着你必須使圖像儘可能大,因爲AlphaImageLoader不會平鋪)。

3

您可以使用opacity(及其IE瀏覽器同級alpha)。

Quirksmode.org有一個如何在大多數瀏覽器中始終如一地實現這一目標的好列表。

+0

如果您只想*背景有色,但它不起作用,這不是一個好的解決方案。 – Armstrongest 2010-04-07 18:26:41

+0

@Atomiton是真的。我對這部分內容進行了重讀 - 爲動態大小的元素着色背景,考慮@ bobince的評論,PNG絕對是一種方式。對於'rgba'來說還爲時過早,因爲沒有IE支持它,否則,這將是最優雅的方式。 – 2010-04-07 18:33:54

2

或者您可以使用PNG半透明圖像。通常是最簡單的出路,因爲在玩opacity時也會改變文字的不透明度。

+1

好點。唯一需要注意的是,半透明PNG需要在IE6中使用一種解決方法。還有一句警告,絕不會將半透明PNG與「不透明」結合起來,它會在所有IE瀏覽器(包括8)中運行。使用其中一種方法或其他方法,但從未將兩者合併到一個元素中。 – 2010-04-07 18:09:01

+0

請確保您使用的程序如PNGOutWin(http://www.ardfry。com/pngoutwin /)在使用它之前壓縮圖像,所以你不會咀嚼所有的帶寬。 – animuson 2010-04-07 18:09:06

+0

爲什麼還要使用_real css_半透明背景? – bjb568 2014-03-13 02:28:04

6

還有一個選項(雖然在所有瀏覽器中都不支持)。使用rgba():

/* apply a shade of seafoam green (50% transparent) to "tinted" class */ 
.tinted {  
    background-color: rgba(129,254,188,0.5); 
} 

這裏有一個不錯的easy to read article在幾個方法。

如果你不關心IE6,事情會變得更容易。