2016-11-11 225 views
0

我有一個圖像div作爲背景。我希望這個圖像是紅色和黑色的單色。這可能與CSS(或可能是Javascript)?看過濾器我只能找到一種方式來顯示圖像在純黑色和白色。爲了澄清,我不想只是一個簡單的顏色疊加,圖像需要基本上有一個梯度地圖應用到它。單色圖像顏色

My fiddle.

代碼:

.top-field { 
 
    min-height: 300px; 
 
} 
 
.top-field .bg-image { 
 
    position: absolute; 
 
    top: 0; 
 
    left: 0; 
 
    width: 100%; 
 
    height: 100%; 
 
    z-index: 100; 
 
    -webkit-filter: grayscale(100%); 
 
    -moz-filter: grayscale(100%); 
 
    filter: grayscale(100%); 
 
}
<div class="top-field"> 
 
    <div class="bg-image" style="background-image: url('https://source.unsplash.com/category/nature/1600x900')"></div> 
 
</div>

這是結果,我想:

enter image description here

+0

兩種顏色或某種顏色過濾器之間的過渡? –

+0

我認爲你正在尋找漸變(http://www.w3schools.com/css/css3_gradients.asp) – 0aslam0

+0

[如何在CSS中覆蓋圖像顏色?](http://stackoverflow.com/questions/18815157/how-to-overlay-image-with-color-in-css) –

回答

0

您可以使用CSS線性漸變。但您需要從.bg-image刪除filter財產。

.top-field { 
 
\t min-height: 300px; 
 
} 
 

 
.top-field .bg-image { 
 
\t position: absolute; 
 
    top: 0; 
 
    left: 0; 
 
    width: 100%; 
 
    height: 100%; 
 
    z-index: 100; 
 
/*  -webkit-filter: grayscale(100%); 
 
    -moz-filter: grayscale(100%); 
 
    filter: grayscale(100%); */ 
 
} 
 

 
.top-field:before { 
 
    content: ''; 
 
    position: absolute; 
 
    top: 0; 
 
    left: 0; 
 
    width: 100%; 
 
    height: 100%; 
 
    background: linear-gradient(rgba(255, 0, 0, 0.5), rgba(0, 0, 0, 0.5)); 
 
    z-index: 999; 
 
}
\t \t \t <div class="top-field"> 
 
\t \t \t \t <div class="bg-image" style="background-image: url('https://source.unsplash.com/category/nature/1600x900')"></div> 
 
     </div>

希望這有助於!

+0

謝謝!然而,我試圖在沒有漸變的情況下顯示圖像。我只是希望它是單色的(而不是黑白色,我希望它是紅色和黑色)。這可能嗎? – Ellinor