2.9.10

Menú vertical desplegable


Un menú desplegable tiene la ventaja que, conteniendo un buen número de enlaces, ocupa poco espacio.

El siguiente es un modelo de código para un menú desplegable, que quedará muy bien en un gadget HTML/JavaScript puesto en la barra lateral de un blog:

<table border="1" width="253px" align="center">
<tr>
<th>
<center>
TITULO DEL MENÚ
</center>
</th>
</tr>
<tr>
<th>
<select class="desplegable" onchange="if(options[selectedIndex].value){location = options[selectedIndex].value}" size="1" name="menu">
<option />Tema 1
<option value="" />- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
<option value="URL" />Título
<option value="URL" />Título
<option value="URL" />Título
<option value="URL" />Título
<option value="URL" />Título
</select>

<select class="desplegable" onchange="if(options[selectedIndex].value){location = options[selectedIndex].value}" size="1" name="menu">
<option />Tema 2
<option value="" />- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
<option value="URL" />Título
<option value="URL" />Título
<option value="URL" />Título
<option value="URL" />Título
<option value="URL" />Título
</select>

<select class="desplegable" onchange="if(options[selectedIndex].value){location = options[selectedIndex].value}" size="1" name="menu">
<option />Tema 3
<option value="" />- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
<option value="URL" />Título
<option value="URL" />Título
<option value="URL" />Título
<option value="URL" />Título
<option value="URL" />Título
</select>

<select class="desplegable" onchange="if(options[selectedIndex].value){location = options[selectedIndex].value}" size="1" name="menu">
<option />Tema 4
<option value="" />- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
<option value="URL" />Título
<option value="URL" />Título
<option value="URL" />Título
<option value="URL" />Título
<option value="URL" />Título
</select>

<select class="desplegable" onchange="if(options[selectedIndex].value){location = options[selectedIndex].value}" size="1" name="menu">
<option />Tema 5
<option value="" />- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
<option value="URL" />Título
<option value="URL" />Título
<option value="URL" />Título
<option value="URL" />Título
<option value="URL" />Título
</select>
</th>
</tr>
</table>

Reemplazamos:
  • TÍTULO DEL MENÚ, por el que le queramos dar, ejemplo: CONTENIDO, ÍNDICE.
  • Tema #, por los nombres que queramos darles a las divisiones con que hayamos diseñado nuestro blog, ejemplo: Sección #, Capítulo #.
  • URL, por las URLs de las entradas de nuestro blog.
  • Título, por el título de cada una de las entradas al lado de su correspondient URL.

Este menú se ha puesto en una tabla con un ancho de 253 pixeles y con ubicación en el centro. El número de guiones (32) debe ser igual en todos los desplegables para que el menú tenga uniformidad. Los títulos y los temas no deben superar ese ancho.

Para un menú más ancho se deben aumentar el número de pixeles de la tabla y los guiones de los desplegables, y viceversa.

Se puede aumentar, siguiendo los parámetros del modelo, el número de desplegables y dentro de éstos, el número de enlaces.

Así se verá el menú:

TITULO DEL MENÚ

Menú con color personalizado

Para poner color al menú hacemos las siguientes modificaciones al código:

1.- Para ponerle color al fondo agregamos a la primera línea del código la parte resaltada:

<table border="1" width="253px" align="center" bgcolor="#194155">

Con esto le damos un color al fondo del menú.

2.- Para ponerle color a las celdas cambiamos en cada uno de estos segmentos desplegable por combobox:

<select class="combobox" onchange="if(options[selectedIndex].value){location = options[selectedIndex].value}" size="1" name="menu">

3.- Vamos al CSS de nuestra plantilla, localizamos ]]></b:skin>, e inmediatamente antes pegamos esto:

.combobox { background-color: #0b615e; color: #ffffff; }

Con esto lograremos que las celdas tengan un color (el mismo del fondo), y el texto color blanco.

Así se verá el menú:

TITULO DEL MENÚ

Aquí encontramos una buena herramienta con códigos hexadecimales de colores:

Códigos hexadecimales de colores.

Índice: Menús
Menú de navegación lateral con efecto slide
Menú horizontal dinámico, con submenús
Menú horizontal desplegable con Ajax
Menú vertical con CSS y jquery, efecto acordeón
Menú Horizontal desplegable con jQuery, CSS3 y Efecto deslizante
Menú horizontal desplegable con CSS y Jquery
Menú Horizontal Estilo Apple Fancy con Efecto Slide, CSS y Jquery
Menú vertical desplegable

37 comentarios :

▼▲ Ocultar / Mostrar comentarios
Comentario escrito por Sherlock : #

Señor Castorlux:

Tengo un problema para colocar el menú de que habla su artículo.
Como hay que poner las direcciones URL en cada tema, resulta que siempre me aparecen varios artículos o temas en la bitácora y por tanto no se puede individualizar cada dirección URL.
.
¿Cómo debo hacer para que me salga un solo artículo y por ende pueda copiar con el ratón cada una de las direcciones URL. ¿Me explico bien cuál es el problema?
.
Un cordial saludo.

Comentario escrito por Sherlock : #

Sr. Castorlux:
.
Ya he podido hacer para que me aparezcan las páginas de los artículos de forma individual.
En cuanto terminare de instalar el menú según las instrucciones de su blog, le diré si todo ha salido bien.
.
Un cordial saludo.

Comentario escrito por Sherlock : #

Sr. Cástorlux:

Se me ha presentado un problema. En uno de los capítulos no se establece el enlace y queda distinto de los demás; no en color blanco. Me pasó lo mismo con dos, y tuve que eliminar uno de ellos.
.
Le dejo la dirección de mi blog por si quiere ver lo que le digo:

http://conocimientosutilescuriosos.blogspot.com/
.
¿Cómo puedo solucionar eso? Ya que así no podré dejar el menú, porque queda antiestético. ¡Gracias anticipadas!
.
Un cordial saludo.

Comentario escrito por Pedro Pablo Pachón : #

Sr. Sherlock:

El problema al que se refiere debe ser originado por un error en el código. Le sugiero que revise el código y lo elabore siguiendo exactamente las indicaciones del tutorial. Con el código correctamente elaborado no tiene por qué presentarse ese problema.
El error debe estar en los segmentos de código correspondientes a los enlaces que, como usted dice, no se establecen.

Saludos.

Comentario escrito por Pedro Pablo Pachón : #

Estuve en su blog pero no encontré el menú.

Saludos.

Comentario escrito por Sherlock : #

Estimado Castorlux:

No halló Ud. el menú porque lo había quitado.
Lo intenté de nuevo, y apareció un nuevo problema. Puse cinco títulos y sólo aparecieron tres. Lo hice sin omitir ni agregar ningún caracter y respetando la continuidad y los espacios entre ellos. Pienso que es un problema del servicio "blogger" de Google. De todas maneras, ¡gracias por su buena intención!
Un cordial saludo.

Comentario escrito por Pedro Pablo Pachón : #

Apreciado Sherlock:

El problema puede radicar también en el navegador que usted utiliza.
He comprobado que este menú se visualiza bien con Internet Explorer 7 y 8, con Mozila Firefox 3.6 Beta 2 y con Google Chrome.

Saludos.

Comentario escrito por Anónimo #

Estimado Castorlux:

Bueno; tendré en cuenta lo que dice usted. Veré si sigo con el mismo navegador o instalo uno nuevo, alguno de los que Ud. menciona. ¡Muchas gracias y un saludo!

...................Sherlock.

Comentario escrito por Anónimo #

Hola! tengo colocado ya hace bastante tiempo este menú en mi blog. Me gustaría poder darle otro color al menú pero, sinceramente, no se como hacerlo. Si me pudiera ayudar estaría muy agradecido.

Comentario escrito por Pedro Pablo Pachón : #

Anónimo:

He agregado una parte al tutorial (Menú con color personalizado), en la que doy respuesta a su inquietud.

Saludos.

Comentario escrito por JM : #

Unicamente quiero agradecer la aportación...para mi es muy importante intentar hacer algo de mayor presentación...

Comentario escrito por Pedro Pablo Pachón : #

Con mucho gusto Kusanagui! Gracias por su visita.
Saludos.

Comentario escrito por Sherlock : #

Estimado Castorlux:

Me cambiaron el sistema operativo del Vista al 7 y tengo el Explorer 9.
.
He tratado de poner el menú desplegable. He colocado sólo un tema ("Autoayuda") y dentro del mismo un título: "Los pensamientos son cosas".
.
Pero resulta que no me aparecen las flechitas para que se despliegue. Tal vez los demás cibernautas puedan verlas. Yo no las puedo ver porque tampoco puedo escribir nada en los buscadores. Es un problema mío.
.
Le ruego si usted puede ver eso y decirme si está bien. Recuerde que el índice o menú desplegable tiene sólo un tema y un título; nada más. Y lo hice así a modo de prueba.
Dígame por favor si usted puede ver las flechitas que despliegan el menú, porque yo no las veo. Tal vez sea demasiado ancho el menú y hay que hacerlo más estrecho.
.
¡Gracias anticipadas y un cordial saludo!
La dirección de mi bitácora:
http://conocimientosutilescuriosos.blogspot.com/

Comentario escrito por Pedro Pablo Pachón : #

Sherlock: Ningún cibernauta puede ver la flechitas del menú. El problema no es de navegador; el problema es que el menú es más ancho que la barra lateral o sidebar. Entonces debe escoger una opción entre estas dos:

1.- Angostar el menú (disminuyendo el ancho en pixeles de la tabla, y el número de guiones de los desplegables), o

2.- Ensanchar la barra lateral o sidebar, debiendo ensanchar el blog (este tutorial le puede ser útil: http://bloguermast.blogspot.com/2010/02/cambiar-ancho-blog-blogger.html).

Saludos.

Comentario escrito por Sherlock : #

Estimado Pedro Pablo:

Yo sí puedo ver las flechitas del menú de su blog. Me refiero a los triangulitos del lado derecho del cuadro del menú.

Hace mucho ensanché mi blog siguiendo sus instrucciones del mismo titular del enlace.
Probaré de estrechar el ancho de la barra lateral, como Vd. bien dice.

También tengo el problema de que no se despliega el menú, y quisiera saber si es porque hace mucho, por medio de un tutorial suyo, puse un código para evitar que los cibernautas puedan copiar los textos.
Si yo quito ese código (para que se puedan copiar los textos), ¿piensa Vd. que el menú se desplegará?

¡Gracias y un cordial saludo!

Comentario escrito por Pedro Pablo Pachón : #

Sherlock: Respondo en el mismo orden de los párrafos de su comentario:

1.- Las flechas del menú de este blog sí se ven porque el ancho del menú y de la barra lateral son los adecuados.

2.- Dice usted que probará a estrechar el ancho de la barra lateral, NO. Lo que tiene que hacer con la barra lateral es exactamente lo contario: ENSANCHARLA (punto 2 de mi respuesta anterior). Recuerde que si ensancha la barra lateral, también deberá ensanchar, en la misma proporción, la cabecera, para conservar la simetría del blog.

3.- Tiene usted razón, el código a que se refiere impide que el menú se despliegue, pero esto ocurre únicamente con Internet Explorer 9 y Google Chrome. Con los demás navegadores con los que he probado (Mozila Firefox, Internet Explorer 8 y Opera), el menú se despliega aún teniendo ese código en la plantilla. De manera que, para que le funcione con IE9, deberá eliminar ese código de su plantilla.

Comentario escrito por Sherlock : #

¡Mil gracias, Pedro Pablo!

Veré si ensancho la barra lateral y la cabecera y quito el código para impedir copias, para que al final pueda instalar bien el menú-índice, o dejo éste código y quito en menú.

Haré lo que más me convenga, según mis deseos o necesidades.

De nuevo le agradezco mucho por aclarar mis dudas y resolver mis dificultades. Sus explicaciones clarísimas.

¡Felicitaciones por su blog y un cordial saludo!

Comentario escrito por Anónimo #

tengo un alista grande en un select y loq ue kisiera es poner al desplegarse esta lista un scrolll como lo haria please necesito ayuda

Comentario escrito por Pedro Pablo Pachón : #

Anónimo: Aquí encuentra un generador de Scroll:

http://www.webexperto.com/herramientas/scrollbar.php

y aquí un generador de listas desplegables:

http://www.webexperto.com/herramientas/listas.php

Saludos.

Comentario escrito por Anónimo #

Genio!!! Muchas gracias. Es sencillo y además con el CSS se pueden controlar más variantes, como tamaño de texto, etc. Gracias.

Comentario escrito por Unknown : #

Queen Letras Traducidas: Gracias por su visita y su comentario.

Saludos.

Comentario escrito por Anónimo #

como puedo adaptar este codigo a un site de google
muchas gracias anticipadas

Comentario escrito por Unknown : #

Anónimo: Lo siento, no tengo la respuesta para su inquietud.

Saludos.

Comentario escrito por Anónimo #

A pesar de que desgraciadamente no ha podido ayudarme le estoy muy agradecido por su atención.
Así mismo le ruego siga ayudándonos de la manera que lo hace usted; le estamos (y creo que hablo en nombre de todos) muy agradecidos.
Un saludo.

Comentario escrito por Unknown : #

Hola Pedro; Podrías decirme, por favor, como hago para cambiarle el color a las letras...!!!

Comentario escrito por Unknown : #

Pepe Puñales: En el código indicado en el punto tres del tutorial:

.combobox {
background-color: #0b615e;
color: #ffffff;
}

El color de las letras es éste:

color: #ffffff;

entonces, para cambiarlo cambias el código hexadecimal (#ffffff), por el correspondiente al del color que quieras poner.

Saludos.

Comentario escrito por Unknown : #

Ok...!!! Me funciono súper bien..!!! Muchas gracias Pedro.

Comentario escrito por Unknown : #

¡Felicitaciones Pepe Puñales!
Saludos.

Comentario escrito por Unknown : #

Mi blog requiere de muchas etiquetas diferentes, cientos de etiquetas... la pregunta es: es posible que este menu, capture las etiquetas y las coloque como submenu? o solo es posible haciendolo manualmente?

Comentario escrito por Unknown : #

GB: Desafortunadamente solo es posible hacerlo manualmente.
Saludos.

Comentario escrito por Unknown : #

Si, me lo temia, amigo... pero muchas gracias por tu respuesta... Cariños. GB

Comentario escrito por Unknown : #

Y encima eres paisano mio Pedro jeje, que grande que eres! Buen blog.

Comentario escrito por Pedro Pablo Pachón : #

Inversiones Anticrisis, gracias paisano ¡Felicidades!

Comentario escrito por Anónimo #

Me guto mucho su menu pero tengo una inquietud, es que al principio puse la opcion de inabilitar el arastre del contenido (uo de sus posts) y ahora no desplega el sub menu, es posible poner los dos a la vez? .. de antemano gracias

Comentario escrito por Unknown : #

Carlos, no entiendo muy bien su pregunta. Para poner dos menús se deben seguir y aplicar, independientemente, las indicaciones de los tutoriales correspondientes.
Saludos.

Comentario escrito por Rickypauel : #

Gracias, de verdad. Muy pero muy buen blog, viva el HTML clasico! :D gracias a ti actualicé mi blog

Comentario escrito por Unknown : #

Rickypauel, saludos.

Este blog ya cumplió su ciclo, por esta razón, aunque sigue a disposición de los usuarios, no se harán más publicaciones ni se atenderán más consultas. La respuesta a su inquietud puede estar entre los comentarios hechos hasta aquí.

El autor.