JSFiddle - React, Tailwind, and code Playground

by danielugalde

HTML

<div class="mascara">
<img class="experimento" src="http://2.bp.blogspot.com/-wi-jCCp3bHg/UXCfHyaAwoI/AAAAAAAAAKs/mtl0ke0SO2c/s1600/Personajes_Toy_Story_2.jpg" alt=""/>
</div>

CSS

.mascara{
    border:2px solid red;
    width:150px;
    height:150px;
    overflow:hidden;
    
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
    
    position:absolute;
    top:0;
    left:0;
    background: green;
}
.mascara:hover{
    -webkit-border-radius: 50%;
    -moz-border-radius: 50%;
    border-radius: 50%;
}
.mascara:hover > .experimento{
    -webkit-filter: grayscale(0%);
    -moz-filter: grayscale(0%);
    -ms-filter: grayscale(0%);
    -o-filter: grayscale(0%);
    filter: grayscale(0%);
    filter:none; /* Firefox 10+, Firefox on Android */
    filter: gray; /* IE 6-9 */
}
.experimento{
    z-index:0;
    position:relative;
     -webkit-filter: grayscale(100%);
     -moz-filter: grayscale(100%);
     -ms-filter: grayscale(100%);
     -o-filter: grayscale(100%);
     filter: url("data:image/svg+xml;utf8,<svg xmlns=\'http://www.w3.org/2000/svg\'><filter id=\'grayscale\'><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>#grayscale"); /* Firefox 10+, Firefox on Android */
     filter: gray; /* IE6-9 */
     -webkit-filter: grayscale(100%); /* Chrome 19+, Safari 6+, Safari 6+ iOS */
    
    -webkit-transition: all 0.5s ease-out;  /* Chrome 1-25, Safari 3.2+ */
    -moz-transition: all 0.5s ease-out;  /* Firefox 4-15 */
    -o-transition: all 0.5s ease-out;  /* Opera 10.50–12.00 */
    transition: all 0.5s ease-out;  /* Chrome 26, Firefox 16+, IE 10+, Opera 12.10+ */
}