Grazie a entrambi per la risposta.

Il problema è che se metto un altezza di 32 come ha suggerito fcaldera viene tagliato da chrome e internet explorer mentre se lascio 24 px viene tagliato da firefox....non capisco il perchè.
Vi posto i codici css dei due button:

codice:
#button
        {
            margin-top:1px;margin-left:1px;
            text-align: center;
            border:none;
            display:block;
            overflow:hidden;
            cursor:pointer;
            width:142px;
            height: 22px;
            color:green;
            font-size:16px;
            background: transparent url(files/accesso-aziende.png) no-repeat;
        }
        #button:hover
        {
            background-position:0 -30px;
        }



       #but
        {   margin-top:28px;margin-left:131px;text-align: center;border:none;display:block;overflow:hidden;cursor:pointer;
            width:140px;height: 24px;color:green;font-size:16px;
            background: transparent url(files/cerca.png) no-repeat;
        }
        #but:hover
        {
            background-position:0 -32px;
        }