Se ci metti il return false; (vedi mio ultimo esempio) questo non succede.perche non mi cambia l'url nella barra degli indirizzi, con "urlprecedente + #"
Comunque ci sono probelmi di sintassi in quella pagina. Tu dichiari di usare XHTML 1.0 Strict, ma la pagina e` in Transitional; questo puo` dare problemi.
Mi pare pero` che ci sono problemi con l'ordine dei CSS: una direttiva sovrascrive sempre una che precede, per cui occorre iniziare sempre dagli elementi piu` generali e poi scendere nei particolari.