Desde hace muchos años, un estándar de GUI son las barras de menú de las aplicaciones con menús emergentes, si hace clic o desplaza una entrada en la barra de menús. Algunos sitios web implementan esta característica también, pero están usando Javascript, hasta donde puedo ver. Por diferentes razones, Javascript puede ser un problema, entonces la pregunta: ¿Es posible implementarlo sin Javascript, solo usando HTML y CSS?¿Cómo puedo crear un menú en HTML sin usar Javascript?
Respuesta
He hecho algo así antes, y es un truco quitado colocando los elementos del menú en etiquetas de ancla, con los submenús en divs ocultos DENTRO de esas etiquetas de anclaje. El truco de CSS es hacer que el div interno aparezca durante el evento a: hover.
Parece algo así como:
<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>
Su kilometraje puede variar ...
EDIT: Internet Explorer 6 e inferiores no se admite el: hover pseudo-clase de otros elementos además A. En navegadores más 'modernos', se acepta poder usar este truco con LI, TD, DIV, SPAN y la mayoría de las etiquetas.
Puede utilizar la pseudoclass: pase el mouse para obtener un efecto de desplazamiento.
a:link {
color: blue;
}
a:hover {
color: red;
}
puedo dar un ejemplo más extenso, pero no en este momento (necesidad de llevar a los niños al dentista).
Espera, espera ... déjame entender esta historia. Tuviste una cita con un dentista para niños inminente, los niños con abrigos para ese frío otoñal de finales de octubre, y, con las llaves en mano, decidieron: "Espera, es mejor que revise Stack Overflow antes de irnos ... podría haber una pregunta de CSS que podría responder ! " Esto me divierte ... –
@Yadyn: lo sé, es ridículo. ... ¿Qué pasó con enviar a los niños sin abrigos para endurecerlos ...? – Shog9
Eche un vistazo a CSS Menu Maker.
Guau ... He estado buscando algo como esto. Buena publicación :). – Abbas
Sitio muy bueno ...agregado a Delicious thx –
Interesante ... Miré este: http://www.cssmenumaker.com/builder/menu_info.php?menu=007# en IE6 y no funcionó, a pesar del hecho de que la barra lateral dice que es compatible con IE6. El comprador tenga cuidado. – mmacaulay
La técnica más conocida es suckerfish menus. La búsqueda de eso dará como resultado muchos menús interesantes. Solo necesita javascript en IE6 e inferior.
considerar el uso de los métodos de CSS como una copia de seguridad para cuando JavaScript no está disponible. JavaScript puede * proporcionar una mejor experiencia de usuario para los menús desplegables porque puede agregar algunos factores de retardo para detener los menús que desaparecen inmediatamente si el mouse abandona brevemente su área de desplazamiento. Los menús Pure-CSS a veces pueden ser un poco difíciles de usar, especialmente si los objetivos de desplazamiento son pequeños.
*: Por supuesto, no todas las secuencias de comandos de menú en realidad se molestan en hacer esto ...
También hay Eric Meyer 's artículo original en pure CSS menus.
Seguramente habrá otras versiones más robustas y modernas que otros mencionaron, pero pensé que lo mencionaría para la posteridad. :)
- 1. Cómo puedo formatear un formulario HTML sin usar tablas
- 2. ¿Cómo puedo crear un menú con pestañas en ASP.NET MVC?
- 3. Desarrollo web sin usar HTML/CSS/JavaScript
- 4. Crear dinámicamente un formulario HTML con Javascript
- 5. HTML: cómo crear un botón "guardar como"?
- 6. ¿Cómo puedo usar un script para crear usuarios en mongodb?
- 7. ¿Cómo crear un menú programáticamente en Android?
- 8. ¿Cómo usar los sockets en JavaScript \ HTML?
- 9. Cómo puedo crear un menú contextual para la cuadrícula extjs
- 10. ¿Cómo puedo crear un menú en el menú de inicio de mi programa?
- 11. ¿Cómo puedo crear una lista desplegable editable en HTML?
- 12. Enganche en un evento onClick sin usar la propiedad HTML
- 13. ¿Es posible hacer un menú desplegable sin Javascript o Jquery
- 14. ¿Cómo puedo usar HTML 5?
- 15. ¿Cómo crear un JButton con un menú?
- 16. ¿Cómo puedo usar Javascript en Java?
- 17. ¿Cómo hago un menú de posición inferior fija en HTML?
- 18. Html ancla horizontalmente sin javascript
- 19. Crear un espacio HTML en blanco sobre la marcha Javascript
- 20. ¿Cómo crear un menú contextual usando un archivo XML?
- 21. ¿Cómo puedo registrar un elemento HTML como un objeto JavaScript?
- 22. Crear un menú vertical en un Wpf
- 23. ¿Cómo crear HTML SECO?
- 24. ¿Cómo puedo eliminar un nodo secundario en HTML usando JavaScript?
- 25. Desplazar un elemento y cambiar otro (sin usar Javascript)
- 26. ¿Puedo usar imprimir en Raphael sin Cufon?
- 27. ¿Cómo crear rayas de cebra en la tabla html sin usar javascript y la generación de clases par/impar?
- 28. ¿Cómo puedo crear un formulario en Rails sin tener que usar form_for y una instancia modelo?
- 29. ¿Cómo puedo crear un buffer sin usar malloc() en el kernel de Linux?
- 30. ¿Cómo puedo usar innerhtml en JavaScript?
Gracias por esta gran ayuda e incluso mencionar el IE6. Como utilizo Linux, ni siquiera probaría IE6. ¿O debería romper el sitio para IE6 a propósito, para mantener a las personas motivadas para cambiar a un navegador moderno? ;-) – Mnementh
En mi experiencia, es mejor evitar romper cualquier navegador cuando se está diseñando una aplicación web para consumo masivo –