img { opacity: 0.3; transition: opacity 1s ease-in-out; -moz-transition: opacity 1s ease-in-out; -webkit-transition: opacity 1s ease-in-out; } img:hover { opacity: 1.0; transition: opacity .55s ease-in-out; -moz-transition: opacity .55s ease-in-out; -webkit-transition: opacity .55s ease-in-out; }
You can also use this function with Fade Grayscale Hover Effect on Images (Grayscale to Colored).
Source: http://stackoverflow.com/questions/11375724/fade-in-fade-out-on-image-hover-using-css3