27 de febrero de 2008

Arreglo para IE6 con Hover y Selects (IE6 Fix with Hover and Selects)

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.

No hay comentarios.:

Publicar un comentario