20-01-2009

Arreglo para IE6 con Hover y Selects usando Suckerfish parte III

Luego de que tuve el menú armado y choqué frente a los select tags de un form pasando por debajo de ellos en vez de encima, lo lógico era buscar una solución en los z-index de la página, pero sin ningún resultado.

Tuve que googlear, hasta que llegué a una solución que no sólo me permite hacer los menús y todo sino que además me permite darles transparencias que funcionan.

Primero que nada, el archivo que necesitamos agregar a lo que ya teníamos:

Código C.1

Está modificación al javascript anterior permite que funcionen las cosas tal y cual pensábamos que deberían haber funcionado siempre, es decir, la lista pasa SOBRE el select tag de un form. Hay que tener dos cosas en mente:

  1. Cambiar el texto SUPERIOR en todas las partes donde aparezca en el Javascript y agregar el id que uno le otorgó al menú, y
  2. Cuidar que la función es sfHover y el CSS es sfhover

Ya con esto aprendido, hacer menús con suckerfish es una opción bastante útil y funcional. Espero les ayude.

Si tienen dudas o quieren ver ejemplos mejores o lo que sea, diríjanse al sitio de A list Apart, o al de Suckerfish y Son of Suckerfish.

Si no, no duden en contactarme.

Technorati Tags: ,,,,,,,,

Windows Live Tags: Hover,Selects,Suckerfish,modificación,SUPERIOR,Javascript,menú,Apart,sfHover

WordPress Tags: Hover,Selects,Suckerfish,modificación,SUPERIOR,Javascript,menú,Apart,sfHover

Arreglo para IE6 con Hover y Selects usando SUckerfish parte II

Lo primero sería implementar Suckerfish y así comenzar el desarrollo. Primero lo primero: La lista.

Código A.1

Este código se ve algo así:

Vista A.1

La idea es que todos los li que contengan los "menu X" se conviertan en la raiz del menú principal y los li contenidos en un ul dentro de un li "menu X" sean submenús del correspondiente "menu X".

¿Cómo lograrlo? CSS - Cascading Style Sheet - Hoja de Estilo

Primero modificamos la lista A.1 para que sea más fácil aplicar los estilos de la hoja de estilo:

Código B.1

Y la hoja de estilos queda así:

CSS B.1

El menú se ve así ahora: Increíble no? Bueno lamentablemente esto necesita un pequeño truco en java para hacer que el estúpido IE6 entienda que al colocarme sobre una celda le estoy haciendo hover y por ende debería responder a una instrucción por el estilo. En el menú superior la captura es de Firefox por lo que no hay problema. En IE7 tampoco. El problema es IE6 (de ahí el título de este post). Para corregir su tontera, necesitamos usar el siguiente script (recordar colocarlo en la sección HEAD <head></head> del HTML):

SCRIPT B.1

Si se fijan, lo que hace el script es reemplazar dinámicamente los hover por una clase llamada over; en el CSS B.1, en cada li donde hay un hover, se duplica el selector CSS reemplazando hover en el duplicado, por over. O sea, donde dice: #superior li ul li:hover Agrego: (una coma) #superior li ul li.over De esta fácil forma, consigo que IE6 me muestre las acciones hover sobre celdas, inputs, selects, en fin lo que sea posible hacer hover.

Hasta aquí la funcionalidad de suckerfish está explicada o más o menos clara. Si tienen dudas o quieren ver ejemplos mejores o lo que sea, diríjanse al sitio de A list Apart, o al de Suckerfish y Son of Suckerfish.

Aún falta una cosa que corregir y que no es fácil de detectar hasta que colocas un menú suckerfish que despliega sobre un select y que al fin y al cabo de eso trataba inicialmente el post.

El desplegable del menú pasa por DEBAJO del select o input. ¿La causa? Una pifia de IE6 a la hora de leer las posiciones de los elementos y dejando siempre en la posición más alta los inputs y selects (y seguramente todo lo que sea un campo de un form).

En el siguiente, la solución a este problema.

Technorati Tags: Hover,Selects,Suckerfish,modificación,SUPERIOR,Javascript,menú,Apart,sfHover

Windows Live Tags: Hover,Selects,Suckerfish,modificación,SUPERIOR,Javascript,menú,Apart,sfHover

WordPress Tags: Hover,Selects,Suckerfish,modificación,SUPERIOR,Javascript,menú,Apart,sfHover

Arreglo para IE6 con Hover y Selects usando Suckerfish I

Ya sé que esto no tiene nada que ver con los alegatos de siempre pero seguramente va a ayudar a muchos a dejar de alegar contra Microcrap y el IE6. Muchos de Uds. se han encontrado que cuando crean un menú, basado en Suckerfish y Son of Suckerfish (menús basados en Listas, manejados por CSS y absolutamente accesibles), se topan con problemas a la hora de visualizarlos en IE6.



La primera corrección la dan en el mismo sitio del Suckerfish y consiste en un pequeño Javascript que ayuda a que el burro IE6 se de cuenta que al pasar sobre un elemento UL estoy haciendo HOVER, tal cual como al pasar por sobre un link (a:hover) [IE6 no lee hovers más que sobre un A].

Con esto podríamos quedarnos tranquilos y nunca caer en ningún problema y reírse de IE6. Sin embargo, si por alguna razón, alguien decidiera colocar un SELECT justo bajo (o al lado) del despliegue del menú Suckerfish, se percatará que ello hace aparecer los submenús ¡¡¡BAJO el SELECT!!! Como pueden ver, el DIV en gris queda BAJO el SELECT. Lo mismo pasa con el menú Suckerfish. Luego de hurguetear internet por cerca de 6 horas, conseguí descubrir entre un montón de basura y soluciones inoperantes, un sitio que tenía una implementación del año 2006: Tanny O'Haley's Weblog.

La solución era el Javascript pequeño que usaba el menú Suckerfish, más varias líneas de código donde, luego de identificar mediante el CLASS o el ID, el UL del menú, ejerce una solución con iframes (que otros ya han medio implementado y que no siempre funciona, les dije que probé todo), y funciona perfecto (dentro de lo que IE6 considera perfecto).

La solución consta de un poco de trabajo a nivel de código y de edición en el Javascript y en CSS y HTML... aunque es obvio ¿no?

En el siguiente post colocaré la primera parte que es echar a andar el menú suckerfish.

Technorati Tags: ,,,,,,,

Windows Live Tags: Hover,Selects,Suckerfish,menú,Listas,Javascript,SELECT,BAJO

WordPress Tags: Hover,Selects,Suckerfish,menú,Listas,Javascript,SELECT,BAJO

Bienvenidos!

Desde aquí podré escribir más tranquilamente todo lo relacionado con código html, javascript, diseño, css, gráfica, arquitectura, implementación, cms’s, etc. y las soluciones que he ido encontrando para diversos problemas que se presentan en la vida diaria de un diseñador gráfico enfocado a la web.

Espero que le puedan sacar provecho y les sea de utilidad.

Saludos!

Technorati Tags: ,,,,,,

Windows Live Tags: usabilidad,accesibilidad,información,Bienvenidos,arquitectura,implementación,diseñador