You are using <input type="image" /> , so a src is expected . . You did not specify one, so Chrome shows a gray border, just like for img without the src attribute.
If you want to use <input type="image" /> and using a CSS sprite, you will need to specify something like src , for example, transparent "blank.gif" 1x1.
http://jsfiddle.net/thirtydot/TXYg6/14/
However, it just seems awful. Instead, I recommend switching to <input type="submit" /> , which solves the problem .
source share