#menu a
{
text-decoration: none;
height: 40px;
width: 120px;
outline-style: none;
float: left;
display: inline;
}
to jest twoj problem
kazdy twoj odnosnik posiada rozmiar 40*120 wiec zajmoje cala "kratke"
dlatego
top:opisuje odstep pomiedzy zew krawedzia elementu pozycjonowanego a gorna krawedzia bloku pojemnika
u ciebie obie te wartosci beda takie same (pole oraz a) wiec dowolna odleglosc nic niezmieni
margin-top: ustawia margines od gory a
padding-top dopelnienie poniewaz dopenienie czesto jest "elementem"
(nie w kazdym przypadku" przycisk sie rozszerza).
Tyle odnosnie komend w koncu zrozumienei przede wszystkim

.
teraz jak rozwiazac problem :
Twoje tlo odnosi sie do linkow.To trzeba bedzie zmienic naprzyklad :
<div id=glowny>
<div class=przycisk>
<a> asdasd </a>
</div > //przycisk
</div> //glowny
i teraz tlo ustawiasz dla #przycisk (wymiary rowniez)
na tym etapie efekt powinien wygladac tak jak przyklad 4 w chwili obecnej
a napisy pozycjonujesz
#glowny a{top:20px;}
z uwag ogolnych padding:0 0 0; = padding:0;
taki uklad pozwoli ci uniknac rowniez powtornego ladowania tla przy :hover
pozdrawiam.