Use the following style for reference:
#nav a:link { background: #ff00ff url(Images/Button.png); height:28px; width:130px; font-family:"Book Antiqua"; font-size:12px; text-align:center; vertical-align:bottom; color:#C60; text-decoration:none; background-position:center; display:block; position:relative; }
In :hover and :visited specify only what you want to change ( background , font-size , etc.).
#nav a:hover { background: #f000f0 url(Images/Button%20Hover.png); }
Your code links have a different size:
a - height:28px; width:130px; height:28px; width:130px; ,
a:hover height:34px; width:140px; height:34px; width:140px; ,
a:visited - height:34px; width:140px; height:34px; width:140px; ),
That's why you get a different size, position (in a you use margin:auto - 0px), but for the marker a:hover matters, so your link also changes position.
miszczu
source share