I read and tried other solutions to my problem, but no one works.
I have 3 images, each in its own 4-column div. I have a css transition configured in such a way that these images fade from shades of gray to color when the user mouse hovers over the image. Now I need the button to appear on hover. I have attached an image to illustrate what I mean.

And here is a snippet of my HTML and CSS for the middle 4 columns.
--------------------- HTML ------------------ ---
<div class="small-4 columns">
<img src="/wp-content/themes/adamslaw/assets/img/woman.png">
<a class="button" href="/jane/">View Jane Profile</a>
</div>
--------------------- CSS ------------------ ---
.greyish {
background: $smoke !important;
h1 {
margin: rem-calc(100) 0 0;
}
img {
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 3.5+ */
filter: gray; /* IE6-9 */
-webkit-filter: grayscale(100%); /* Chrome 19+ & Safari 6+ */
-o-transition:.5s;
-ms-transition:.5s;
-moz-transition:.5s;
-webkit-transition:.5s;
transition:.5s;
}
img:hover {
filter: none;
-webkit-filter: grayscale(0%);
.button:hover {
display: inline-block;
}
}
}
NOTE: I use SCSS, therefore, weird looking, nested CSS rules.