C'e` un po' di confusione in quello che dici.
Anzitutto i CSS possono cambiare qualche caratteristica solo all':hover. Il click non attiva modifiche CSS.
Da quanto dici, mi fa pensare ad un JS, che agisce sulla pagina, ma che non citi nella domanda.
Inoltre il codice postto si puo` semplificare notevolmente:
codice:
a#smiley {
width: 79px;
height: 25px;
/* background-image: url(images/1D.jpg);*/
margin: 0 auto;
font-family: Arial, Helvetica, sans-serif;
font-size: 11px;
}
a#smiley:link {
background-image: url(images/1DGreen.jpg); /* sicuro che qui non volevi il file 1D.jpg? */
}
a#smiley:hover, a#smiley:active {
background-image: url(images/1DGreen.jpg);
}
Il CSS per a#smiley e quello per a#smiley:link agiscono "a riposo"; non e` necessario specificarli ambedue, ma se vuoi una cosa piu` razionale puoi specificare le caratteristiche "fisse" nel primo e quelle "che cambiano" nel :link.
Mancherebbe anche il codice per il :visited, che puoi specificare diverso o uguale al :link e va posizioniato dopo il :link.
Se hai altri problemi, posta anche il codice HTML del link e del blocco che lo contiene