CSS :hover 'shine effect' (ver 2)
A more robust and simpler method that uses pseudo-elements, background-size, gradients, and transitions to create a 'shine effect' when hovering over the icon.
by necolas
HTML
<div class="container">
<a href="#" class="icon"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA2ZJREFUeNq8V01PGlEUPQzD8DWgCIgf2JCgAZPKpk0XxqRJF43Gjf6Krt33P/hTdNekqYsmjU3apo21tjW1rbW0AtUqlo9hmDev76Eg4MyAknCTG2F8vHvmnnPPm7E9frMDFkssV1nG0J/YZ7nCcl3kxWdHQmv3R0Lw2IW+VC8RPfY8c7S2mTla5gBW5yJBSIINm3+LfQFwL+ABr8kArHIAMbvNhpcnJfQreK07A27+McYBQKUUOjX/wVHmEOmve/DIMqLxqdrfXoPX5FEDoLDqhBojOGbFn7zaRjYyDdfpP0SfbmBxcR6iJPUEQNGbARAGwGTh++MytlJLje/psRSmvn1AIpnsDQBpAlBmaDQTCnKOQUDXG981QcRHGkCc9kZBuaUDrIAZBQITKG0CwEO3S6bru6dAvwRQIuYdoKwQpa0EadUKcoeHHYv4g0GIDsnEC9o6oJnckc7+1w4gV1DxbHenI4AhKJhbWDAE0dIBKw0YAfghjwOJ8Y4AnJUCwp92kZiZ6aABTgFMOsApIORmPItufNaDiBvsrZA2H7DsANFuLDa/z2e4d4sPnDuhmQZITwAmwx5DfdXn6hyAhQ/r+lUKBuw6Ql6nZWG33Ya7YQlht9C427bxugSgWcw0NehA0lXBYmLIEgCnuED0WlqFWP9QtRrDNgBlVcWBUu3JiBzM4BoAuNmYiZAYTAGxWN9tiKDNHbBwQgMKymd5tj7aGwIb2jtgM26VxwN6prRc+607sLPxFL7hiLkJeWUMRidgN7Fi2ixCKwomRwN4/Svdcu0MErbpMDwHp+YcaxkMvHuL2w/nIXnlDgBg3gGnS4SfrcpXWnVQFH21tIqsrsG/9x2x1FUrphcaEOozqZlkkY3Rg2TkXAvXTI0Rna2IhvuiWwp4+NgDZGrMj630ybW1Jvtkw73bNADLB4xTjWB2ehQh2YkXX7JQqt0fThOjQcO965caGui05UFFQ3Q8gEfRAH4eF5HLl5Avq3A5RDhF4xeaWyEfCLPsooEbUlyDgnpkVII/TKveQQ/iQ96am5GLI9soCsyPi5reeQx5P7p9xuMerzKBnaDHoJdTsM/PgSl7tXZE9iN5rYuzZ593YKVQUddkyYGEoPbl1YyzUlCr/O5XOIB1QVWWS6rS19dz4eL1/L8AAwAP8EEMKinDIgAAAABJRU5ErkJggg==" alt="Twitter"></a>
<a href="#" class="icon"><img...
CSS
html,
body {padding:0; margin:0; line-height: 1;}
/* Links */
a {color:#858e98}
a:hover {color:#555}
body {
background:...
JavaScript
/*
This is what the HTML looks like without data URIs kill it
<div class="container">
<a href="#" class="icon"><img src="image.png" alt="Twitter"></a>
<a href="#" class="icon"><img src="image.png" alt="Facebook"></a>
</div>
I think this method is preferable to the one demonstrated in
http://jsfiddle.net/necolas/v4dS8/. Far easier to maintain
and apply to many separate icons.
Although this method will only produce the full effect in
Firefox 4, other browsers will eventually catch up and apply
transitions to pseudo-elements.
*/