2016-11-11 7 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. Но вам необходимо удалить filter Недвижимость от .bg-image.

.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

Смежные вопросы