Foros del Web » Creando para Internet » CSS »

Galeria CSS con problemas de compatibilidad con navegadores

Estas en el tema de Galeria CSS con problemas de compatibilidad con navegadores en el foro de CSS en Foros del Web. Buenas! Tengo una galería en CSS que de hecho esta siendo usada en un sitio web, y rebisando por casualidad descubro que tiene varios problemas ...
  #1 (permalink)  
Antiguo 31/01/2011, 07:08
Avatar de Garot  
Fecha de Ingreso: marzo-2010
Ubicación: Mar de Dirac
Mensajes: 121
Antigüedad: 7 años, 9 meses
Puntos: 7
Galeria CSS con problemas de compatibilidad con navegadores

Buenas!

Tengo una galería en CSS que de hecho esta siendo usada en un sitio web, y rebisando por casualidad descubro que tiene varios problemas de compatibilidad con los diferentes navegadores.

El problema es que no me acuerdo de donde saque el código de dicha galeria, asi que estoy tratando de encontrar cual es el error, pero es muy extraño.

En Firefox funciona perfecto, ahora en Chrome e Internet Explorer da dos bugs muy diferentes, por eso me llama la atención.

Les dejo aqui el código y el link donde pueden ver el ejemplo.


Código HTML:
Ver original
  1. <div id="album">
  2. <img src="imagens/produtos/gal_cestainer_04_med.jpg" alt="" class="float_left" />
  3.  
  4. <ul class="gallery">
  5.  
  6. <li><a href="#nogo"><span><img src="imagens/produtos/gal_cestainer_04_med_p.jpg" alt="" width="85" height="80" /></span><img class="landscape" src="imagens/produtos/gal_cestainer_04_med.jpg" alt="cestainer 04 medidas" title="medidas" /></a></li>
  7.  
  8. <li><a href="#nogo"><span><img src="imagens/produtos/gal_cestainer_04_abe_p.jpg" alt="" width="85" height="80" /></span><img class="landscape" src="imagens/produtos/gal_cestainer_04_abe.jpg" alt="cestainer 04 montado" title="montado" /></a></li>
  9.  
  10. <li><a href="#nogo"><span><img src="imagens/produtos/gal_cestainer_04_emp_p.jpg" alt="" width="85" height="80" /></span><img class="landscape" src="imagens/produtos/gal_cestainer_04_emp.jpg" alt="cestainer 04 desmontável" title="desmontável" /></a></li>
  11. </ul>
  12.  
  13. </div>


Código CSS:
Ver original
  1. .gallery {
  2. padding:0;
  3. margin:270px 0 0 0;
  4. list-style-type:none;
  5. position:relative;
  6. width:278px;
  7. }
  8.  
  9. /* remove the default image border */
  10. .gallery > img {
  11. border:0;
  12. }
  13.  
  14. /* make the list horizontal */
  15. .gallery li {
  16.     float:left;
  17.     margin-right: 3px;
  18. }
  19.  
  20. /* style the link text to be central in a surrounding box */
  21. /* estilo del texto de la conexión a ocupar un lugar central en un cuadro que rodea */
  22. .gallery li a, .gallery li a:visited {
  23. float:left;
  24. text-decoration:none;
  25. text-align:center;
  26. width:85px;
  27. height:80px;
  28. line-height:24px;
  29. margin:2px;
  30. }
  31.  
  32. /* position the images using an absolute position and hide them from view */
  33. /* posiciona las imágenes con una posición absoluta y las oculta de la vista */
  34. .gallery li a > img {
  35.     position:absolute;
  36.     top:-300px;
  37.     left:0;
  38.     visibility:hidden;
  39.     border:0;
  40. }
  41.  
  42. /* fix the top position for the landscape images */
  43. /* fijar la posición superior para las imagenes de paisaje */
  44. .gallery li a > img.landscape {
  45. top:-270px;
  46. }
  47.  
  48. /* fix the left position for the portrait images */
  49. /* fijar la posición de la izquierda para el retrato de imágenes */
  50. .gallery li a > img.portrait {
  51.     left:0px;
  52. }
  53.  
  54. /* make the images visible on active/focus */
  55. /*hacer las imágenes visibles en activo/foco*/
  56. .gallery li a:active > img, .gallery li a:focus > img {
  57. visibility:visible;
  58. }

Este es el link del ejemplo: http://www.weainox.com.br/aramado_cestainer_04.php#nogo

- Como dije anteriormente en Firefox funciona bien osea conforme hago click en cada imagen se va mostrando arriba.

- En Chrome pasa que solo se muestra la imagen arriba mientras mantengo apretado el cursor sobre la imagen de muestra y cuando suelto se desaparece.

- Ahora el bug de Internet Explorer es muy raro, cuando le hago click a la primera imagen de la derecha va bien pero cuando continuo y le hago click a cualquiera de las otras dos, solo se muestra la imagen si desde ahi me desplazo con el cursor y hago rollover en la primera imagen de la derecha.

Asi que ya veran, estoy intentando ver cual es el problema para ver si puedo hacerla funcionar en los 3 navegadores por igual, sino me voy a ver obligado a cambiar la galeria, cosa que no quiero

Yo se que esta muy mal que este error se me haya pasado antes de publicar la web, pero ese es el problema de hacer los test de compatibilidad atraves de esos sitios que te muestran solamente una imagen de los diferentes navegadores.

Bueno, entonces al que quiera ayudarme en la búsqueda de una solución, desde ya agradesco cualquier sugerencia.

Gracias!
  #2 (permalink)  
Antiguo 31/01/2011, 09:54
Avatar de sanxuan  
Fecha de Ingreso: enero-2011
Ubicación: Gijón
Mensajes: 671
Antigüedad: 6 años, 11 meses
Puntos: 36
Respuesta: Galeria CSS con problemas de compatibilidad con navegadores

La solución pasa por utilizar un script en lugar de esa solución con CSS (en mi modesta opinión). Lo que te ocurre es inevitable. Es fruto de la diferente interpretación de los navegadores de la pseudo-clase :active.
Si nos guiamos por la recomendación CSS2.1 el comportamiento de active debería ser sólo en el espacio de tiempo comprendido entre el apretar el botón del ratón y volver a soltarlo. En definitiva, mientras pulses el botón se deben usar las propiedades definidas con :active y desaparecer cuando lo sueltas.
  #3 (permalink)  
Antiguo 31/01/2011, 11:00
Avatar de Garot  
Fecha de Ingreso: marzo-2010
Ubicación: Mar de Dirac
Mensajes: 121
Antigüedad: 7 años, 9 meses
Puntos: 7
Respuesta: Galeria CSS con problemas de compatibilidad con navegadores

Tenes razón Sanxuan!

El la pseudo-clase :active tiene problemas principalmente con Internet explorer. Pero tambien la pseudo-clase :focus esta dando problemas, porque el :active es como vos decis funciona mientras se tiene apretado el mouse, ahora una vez que haces click sobre la imagen deberia actuar el :focus cosa que no hace en Chrome y en IE ni te cuento

No quise usar una galeria javascript porque nunca encontre una asi como queria, pero voy a seguir buscando un poco mas, parece ser la mejor solución.

Por ahora la solución inmediata que se me ocurre es dejar la galeria funcionando con la pseudo-clase :hover, funciona en todos los navegadores y no queda mal.

Igual voy a seguir investigando un poco ese tema del :active y del :focus.

Gracias Sanxuan por tu aporte!!

Etiquetas: compatibilidad, galeria, navegadores
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 15:50.