Saltar al contenido

CSS para desaturar la imagen de fondo solo con otras imágenes en Div Manténgase saturado

Solución:

La saturación funciona de la misma manera que la opacidad, no puede aplicar el efecto a un padre y luego deshacerlo en un hijo. Su mejor opción probablemente sería hacer que la imagen en escala de grises sea un elemento secundario de su sección, pero no un elemento primario de la imagen:

<section>
  <figure class="desaturate" style="background-image: url('bg-img-1.jpg');"></figure>
  <div class="row">
    <div class="col-md-12">
      <img src="https://foroayuda.es/img-2.jpg" class="img-responsive saturate" alt="" />      
    </div>
  </div>
</section>

Tu otra opción sería heredar el fondo en un ::before o ::after pseudo elemento y aplique el filtro allí:

.desaturate {
  width: 100%;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover;
  position: relative;
}

.desaturate:before {
  content: '';
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  background: inherit;
   /*grayscale for background image*/
  -webkit-filter: grayscale(1); 
  -webkit-filter: grayscale(100%); 
  -moz-filter: grayscale(100%);
  filter: gray; 
  filter: grayscale(100%);
  filter: url("data:image/svg+xml;utf8,<svg version='1.1' xmlns="http://www.w3.org/2000/svg" height="0"><filter id='greyscale'><feColorMatrix type="matrix" values="0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0.3333 0.3333 0.3333 0 0 0 0 0 1 0" /></filter></svg>#greyscale");
}

Puede ver una demostración aquí: http://codepen.io/Godwin/pen/ogLPvR.

Editar: Solo por el interés, hay otra forma de hacer esto, pero aún no tiene un alto nivel de compatibilidad con el navegador:

.desaturate {
    width: 100%;
    height: 100%;
    background-position: center center;
    background-repeat: no-repeat;
    background-size: cover;
    /*grayscale for background image*/
    background-color: #FFF;
    background-blend-mode: luminosity, normal;
}

Referencia: https://developer.mozilla.org/en-US/docs/Web/CSS/background-blend-mode

Ejemplo: http://codepen.io/Godwin/pen/raLZVr

Soporte: http://caniuse.com/#feat=css-backgroundblendmode

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *