Da molti anni uno standard GUI sono le barre dei menu delle applicazioni con i menu che spuntano, se si fa clic o si passa sopra una voce nella barra dei menu. Alcuni siti web implementano anche questa funzione, ma stanno usando Javascript, per quanto posso vedere. Per diversi motivi, Javascript può essere un problema, quindi la domanda: è possibile implementare senza Javascript, usando solo HTML e CSS?Come posso creare un menu in HTML senza usare Javascript?
risposta
Ho già fatto qualcosa del genere, ed è un trucco ottenuto posizionando gli elementi del menu nei tag di ancoraggio, con i sottomenu nelle div nascoste DENTRO quelle etichette di ancoraggio. Il trucco CSS consiste nel far apparire il div interno durante l'evento a: hover.
Sembra qualcosa di simile:
<style>
A DIV { display: none; }
A:hover DIV { display: block; }
</style>
<a href="blah.htm">
Top Level Menu Text
<div><ul>
<li><a href="sub1.htm">Sub Item 1</a></li>
<li><a href="sub2.htm">Sub Item 2</a></li>
<li><a href="sub3.htm">Sub Item 3</a></li>
</ul></div>
</a>
tua situazione potrebbe essere diversa ...
EDIT: Internet Explorer 6 e inferiori non supportano il: hover pseudo-classe su altri elementi oltre A. più browser 'moderni', si accetta di essere in grado di utilizzare questo trucco con LI, TD, DIV, SPAN e la maggior parte dei tag.
È possibile utilizzare la pseudoclass: passa il mouse per ottenere un effetto di passaggio del mouse.
a:link {
color: blue;
}
a:hover {
color: red;
}
posso dare un più ampio esempio, ma non in questo momento (necessità di ottenere i bambini dal dentista).
Aspetta, aspetta ... fammi raccontare questa storia. Avevi un appuntamento da dentista per bambini imminente, i bambini in cappotti per quel gelido autunnale di fine ottobre, e, con le chiavi in mano, ha deciso "Aspetta, meglio controllare Stack Overflow prima di andare ... potrebbe esserci una domanda CSS a cui potrei rispondere !" Questo mi diverte ... –
@Yadyn: lo so, è ridicolo. ... Che cosa mai è successo a mandare i bambini senza cappotto per rinforzarli ...? – Shog9
Dai un'occhiata allo CSS Menu Maker.
Wow ... Ho cercato qualcosa esattamente come questo. Ottimo post :). – Abbas
Sito molto interessante ...aggiunto a Delicious thx –
Interessante ... Ho guardato questo: http://www.cssmenumaker.com/builder/menu_info.php?menu=007# in IE6 e non ha funzionato, nonostante il fatto che la barra laterale sostiene la compatibilità con IE6. Compratore stai attento. – mmacaulay
La tecnica più nota è la suckerfish menus. La ricerca di ciò comporterà un sacco di menu interessanti. Ha solo bisogno di javascript in IE6 e versioni precedenti.
considerare l'utilizzo di metodi CSS come backup per quando JavaScript non è disponibile. JavaScript può * fornire un'esperienza utente migliore per i menu a discesa perché è possibile aggiungere alcuni fattori di ritardo per interrompere i menu che scompaiono immediatamente se il mouse lascia brevemente la propria area al passaggio del mouse. I menu Pure-CSS a volte possono essere un po 'complicati da usare, specialmente se i target hover sono piccoli.
*: ovviamente, non tutti gli script di menu in realtà si preoccupano di fare questo ...
C'è anche Eric Meyer s' Articolo originale su pure CSS menus.
Ci sono sicuramente molto più robusti e moderni che vengono portati là fuori ora citati da altri, ma ho pensato di parlarne per i posteri. :)
- 1. Come creare un menu hamburger reattivo in AMP HTML
- 2. Come posso creare componenti in React Native senza usare JSX?
- 3. Come posso creare un proxy senza usare la molla AOP
- 4. Come posso utilizzare HTML + Javascript per creare una GUI Python?
- 5. Come posso usare Javascript in Java?
- 6. Creare dinamicamente un modulo HTML con Javascript
- 7. Potete creare una stringa JavaScript senza usare 'o "citazioni?
- 8. Posso usare jquery getScript() senza un callback?
- 9. Come posso usare innerhtml in JavaScript?
- 10. Come posso creare un CKQuery senza predicato?
- 11. Posso creare un programma JavaScript autonomo locale?
- 12. Posso usare resolveurl in javascript
- 13. Come posso creare un menu di fisarmonica con CSS3?
- 14. POST un array da un modulo HTML senza javascript
- 15. Html anchor orizzontalmente senza javascript
- 16. Come creare una pagina master usando HTML?
- 17. Facebook come menu a scorrimento in JavaScript senza jQuery Mobile
- 18. Come creare un menu a discesa in WinForms e C#
- 19. come posso creare un collegamento al menu, Lingua -> J -> Javascript
- 20. Come creare pezzi di un puzzle senza usare la maschera?
- 21. Come creare un parser HTML?
- 22. Come creare "copia negli appunti" pulsante in html/javascript
- 23. Come creare un menu di opzioni dinamiche?
- 24. Come usare javascript in dattiloscritto
- 25. Come posso creare dinamicamente un elenco non ordinato in JavaScript?
- 26. Come creare menu popup
- 27. Come posso creare un filesystem userspace con FUSE senza usare libfuse?
- 28. Come posso creare un menu nel menu di avvio del mio programma?
- 29. Come posso registrare un elemento HTML come oggetto JavaScript?
- 30. In Rails come posso implementare un menu di selezione HTML usando una matrice di stringhe?
Grazie per questo grande aiuto e anche menzionare l'IE6. Poiché uso Linux, non testerei nemmeno per IE6. O dovrei interrompere il sito per IE6 di proposito, per mantenere le persone motivate a passare a un browser moderno? ;-) – Mnementh
Nella mia esperienza, è meglio evitare di rompere qualsiasi browser quando si progetta un'applicazione web per il consumo di massa –