A bit late, but I came across this post.
This is not perfect, but here is what I do.
HTML code
<div class="showcase-menu-social"><img class="margin-left-20" src="images/graphics/facebook-50x50.png" alt="facebook-50x50" width="50" height="50" /><img class="margin-left-20" src="images/graphics/twitter-50x50.png" alt="twitter-50x50" width="50" height="50" /><img class="margin-left-20" src="images/graphics/youtube-50x50.png" alt="youtube-50x50" width="50" height="50" /></div>
CSS code
.showcase-menu { margin-left:20px; margin-right:20px; padding: 0px 20px 0px 20px; background-color: #C37500; behavior: url(/css/border-radius.htc); border-radius: 20px; } .showcase-menu-social img:hover { background-color: #C37500; opacity:0.7 !important; filter:alpha(opacity=70) !important; box-shadow: 0 0 0px #000000 !important; }
Now my border radius of 20px exactly matches the radius of the border of the image. Since you can see that .showcase-menu has the same background as .showcase-menu-social. This is to allow the "opacity" to take effect, rather than the "square" background or borders, so the image slightly reduces the saturation on hover.
This is a good effect and gives the viewer feedback that the image is in focus. I am sure that on a darker background this will have even better effect.
It's nice that this is valid HTML-CSS code and will be validated. Honestly, it should work on elements without an image as well as images.
Enjoy it!
Luke douglas
source share