HTML Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta content="text/html; charset=utf-8" http-equiv="Content-Type" />
<title>Test</title>
<style type="text/css">
a#testbtn {
background-repeat: no-repeat;
background-image: url('images/testbtn.jpg');
background-position:0px -20px;
width:120px;
height:20px;
display: block;
}
a:hover#testbtn {
background-repeat: no-repeat;
background-image: url('images/testbtn.jpg');
background-position:0px 0px;
width:120px;
height:20px;
display: block;
}
</style>
</head>
<body>
<a href="#" id="testbtn" rel="no-follow"></a>
</body>
</html>
this is the code I use on my test I'm adding the source files and the image. A note on this.
HTML Code:
background-position:0px -20px;
the first one the 0px means that the image will be shown at the end of the x axis x axis is horizontal or left to right. the -20px is for the y axis or vertical or up and down. The lighting is at the top to to start the image we want to show the regular image so we set it to -20px. If you add 20px no image will be show. If you reversed so the regular image is at the top and the shine image is at the bottom then you could use -20px on the a:hover #yourIdName { background-position:0px -20px; } then it would work in a better order I only did it that way because I was in a rush.
Check the code of the demo files to see how I made the image.