2014-08-31 115 views
0

有沒有一種方法可以在同一元素內的背景圖像上疊加背景色?這是我的CSS:分層背景圖像下面的背景顏色?

#pitchImg.hero{ 
    background:url("imgs/pitch-img.jpg") rgba(92,74,95,1); 
    background-repeat:no-repeat; 
    background-position:center; 
} 

我試過切換url和rgba的地方,但無濟於事。有沒有辦法做到這一點,而不是創建另一個div(如果存在這樣的事情)?

+0

如果你有一個BG-色彩搭配上的圖像的頂部* *的「1」,不透明度,圖像將是不可見的,會嗎? – Jeroen 2014-08-31 21:24:14

回答

3

您可以將樣式僞:after元素和背景顏色將在背景圖像應用。

#pitchImg.hero{ 
    background-image:url("imgs/pitch-img.jpg"); 
    background-repeat:no-repeat; 
    background-position:center; 
} 

#pitchImg.hero:after { 
    background-color: rgba(92,74,95,1); 
    content: "";   
    height: 100%; 
    display: block; 
} 

jsFiddle Demo

+1

啊是的!我忘了僞元素。非常感謝! – Majo0od 2014-08-31 21:41:52

0

獨立出來: http://jsfiddle.net/a5vbuufb/1/

#test{ 
    background-image: url('https://www.google.com/images/srpr/logo11w.png'); 
    background-color: blue; 
    height: 400px; 
} 
+0

從我看到的情況來看,背景圖片總是會隨着顏色的變化而變化,不管您將它放在什麼位置。 – Majo0od 2014-08-31 21:30:45

+2

@Majed:這裏的屬性順序完全沒有關係 - 它從來沒有在CSS中做過。即使有多個背景,也不能在圖像上添加顏色 - 顏色始終必須是最後一個值,因此是最低層,因爲它是以這種方式指定的。 – CBroe 2014-08-31 21:39:25

+0

不適用於ie 11 – 2016-11-01 17:28:44