I suggest avoiding CSS filters because it is not supported at all in IE, and does not look like it is also under development.
I would also prefer grayscale in my photos in Photoshop to have more control over color balance and contrast. (But I am also a designer).
Instead, I'm going to overlay a full-color image on the grayscale image, fix the position of the colorful background image and transfer the position of the top div using jQuery:
HTML
<div class="greykitty"> <div class="colorfulkitty" style="top: 150px; left: 280px;"> </div> </div>
SCSS with normalize.css
body{ background-color:whitesmoke; } div{ height: 400px; width: 600px; background-repeat: no-repeat; } .greykitty{ background-image: url("http://lorempixel.com/g/600/400/cats/10/"); } .colorfulkitty{ background-image: url("http://lorempixel.com/600/400/cats/10/"); $circlesize: 150px; height: $circlesize; width: $circlesize; border-radius: $circlesize; background-attachment: fixed; position: absolute; }
Js with jQuery
$('.greykitty').mousemove(function (colorize) { var X = colorize.clientX; var Y = colorize.clientY; $('.colorfulkitty').css("top", (Y - 75) + 'px'); $('.colorfulkitty').css("left", (X - 75) + 'px'); });
And my code: http://codepen.io/fontophilic/pen/XJpVje/
fontophilic
source share