Ciao e benvenuto.
Quoto la soluzione di lucavizzi ma aggiungo giusto qualche dettaglio (ormai avevo già scritto il post quando lucavizzi ha risposto)
Il problema non è strettamente legato al CSS ma alla normale azione di href del tag <a>.
In particolare href="#" non è sufficiente a creare un link fittizio, perché questo continuerà a funzionare esattamente come un ancora interna. Il cancelletto "#" è usato proprio per creare delle ancore interne alla pagina, ma solitamente è seguito dal valore id a cui deve puntare il link (ad esempio href="#IDdiUnQualcheElementoACuiPuntareSullaStessa Pagina").
Nel tuo caso, non essendoci alcun id di riferimento (sebbene il markup sia valido), il browser scorrerà la pagina semplicemente all'inizio, come da normale comportamento.
Sia chiaro, il link deve essere cliccato perché agisca. Questo probabilmente è il motivo per cui si ha il problema su touchscreen, perché suppongo che avvenga una sorta di click. Ma lo stesso problema dovrebbe presentarsi anche nell'uso più convenzionale col mouse, se si esegue il click su quei link (ovviamente nella situazione in cui la pagina non sia già all'inizio).
La soluzione è facile. In sostanza bisogna impedire il normale comportamento del link.
Si può fare in diversi modi, uno dei quali è quello già proposto da lucavizzi.
Lo prendo per buono, ma tieni presente che esistono dei metodi (identificati in genere sotto il termine noconflict) proprio per risolvere problemi di conflitto tra diversi script, specialmente (ma non esclusivamente) quando si tratta di diverse librerie o framework JavaScript che devono convivere nella stessa pagina.non posso usare javascript perchè mi da conflitti con altri javascript
Se poi tu preferisci la soluzione CSS non c'è nulla da dire, ma questo non esclude a priori che si possa in qualche modo usare una soluzione JavaScript.
Buon proseguimento![]()

)

Rispondi quotando