Historias
Slashboxes
Comentarios
 
Este hilo ha sido archivado. No pueden publicarse nuevos comentarios.
Mostrar opciones Umbral:
Y recuerda: Los comentarios que siguen pertenecen a las personas que los han enviado. No somos responsables de los mismos.
  • por Pndel (17582) el Martes, 18 Enero de 2005, 00:17h (#424576)
    ( http://www.chirimoyas.es/ | Última bitácora: Miércoles, 04 Noviembre de 2015, 22:57h )

    Estoy de acuerdo con todos los que habéis defendido las tesis del W3C y con las tesis de este consorcio. Cualquiera con un mínimo de "visión informática" se dará cuenta de que simplemente con el sentido común se ve que el HTML es un lenguaje de programación, y que éste sigue unas reglas, de la misma manera que no podremos compilar un programa en C sólo con que nos dejemos un ";" al final de la instrucción (creo que el caso es similar al de las comillas que dicen algunos).

    Sin embargo, he de decir que mi intento por cumplir con los estándares ha resultado sumamente frustrante. Soy mantenedor de una web por encargo y hasta hace menos de un año sólo me había preocupado de testearla en IE, Mozilla y Konkeror y comprobar que se veía bien. Luego empecé a descubrir todo lo del XHTML, el separar el contenido del diseño (ya utilizaba CSS para conseguir algunos efectos, pero también hacía uso de las tablas para maquetar y otras barbaridades), y para colmo en las prácticas de una asignatura nos hicieron hacer una sencillísima página con el requisito, eso sí, que validara como XHTML 1.0 estricto.

    Pues bien, aprovechando que me requirieron abrir un nuevo apartado en la web, aproveché para hacerlo siguiendo los estándares y recomendaciones, emulando con precisión de píxel el diseño que tenía hasta el momento la web.

    Mi experiencia es que resulta tedioso, MUY LENTO de aprender y POCO INTUITIVO. Hay cosas que se pueden hacer de varias maneras y no sabes si estarás haciéndolo de la forma más óptima posible. El aprendizaje es lento y aburrido (tal vez, si ahora que ya sé sigo utilizándolo, ya no me lo parezca tanto).

    Pasaron algunas cosas interesantes, como el hecho de creer por un momento que iba a tener una página 100% LIBRE de Javascript, pues los "rollover" de los botones se pueden hacer con CSS...

    ...Hasta que llegó el desastre. El diseño de mi página es a tres columnas, y esto se presta a problemas con CSS. La de la izquierda contiene el menú, la de la derecha algo parecido, y la del centro, texto (como en un periódico on-line), el cual no es siempre de la misma longitud vertical (hay multitud de artículos de diferente extensión para mostrar), y cada columna tiene su color, apariencia, etc...

    Pues bien, resulta que las columnas (un "div", vamos)en CSS llegan hasta donde llega su contenido. Esto quiere decir que, mientras la columna central ocupa lo que tenga que ocupar, la de la izquierda se "acababa" (literalmente) donde terminaban los botones, y la misma hacía la de la derecha cuando acababa su escaso contenido.

    Podéis intentar buscar por Internet, pero me temo que no encontraréis solución: a lo sumo, se puede especificar que las tres columnas ocupen el 100% de la altura de la ventana del navegador, pero eso no soluciona nada cuando la columna ocupe más (es decir, cuando aparece una barra de "scroll" vertical), o menos (en el primer caso se "truncarán" igualmente las columnas laterals cuando movamos el "scroll", y en el segundo tendríamos tres columnas innecesariamente largas, más de lo que ocupa su contenido).

    Lo que sí encontré fueron multitud de truquillos o "hacks" para intentar conseguir el efecto deseado. Algunos se aprovechaban de fallos en los navegadores, de "ensuciar" el código para engañar al programa (algo que no te garantiza que vaya a funcionar en todos los navegadores ni para siempre); otros recomendaban técnicas también poco elegantes a mi gusto como dar la apariencia de tres columnas con una imagen de fondo dividida en tres columnas (una de cada color), que se repetía verticalmente hasta ocupar lo mismo que la "columna" central (ahora ya no una verdadera columna).

    ¿Sabéis lo que tuve que hacer al final? Pues muy a mi pesar... RECURRIR AL JAVASCRIPT. Se puede usar una función para averiguar la altura en píxels que ocupa la pantalla en un momento dado, y que actualice al momento los píxeles de la altura de los div de las columnas en cuestión. De esta manera finalmente conseguí el efecto deseado...

    Mi impresión de todo esto ha sido, pues, que por quererme olvidar de las tablas para la composición, he tenido que recurrir al Javascript (al cual no le tengo mucho cariño) como no había hecho hasta ahora simplemente porque con CSS *NO SE PUEDE* hacer según qué cosas.

    Estoy de acuerdo con las normas del W3C, intento acatarlas al máximo y creo que seguiré con la norma de separar diseño y contenido (y que me valide como XHTML 1.0 estricto!), pero con esto quiero destacar que los "gurús" también son personas como nosotros y que las cosas que hacen también tienen sus fallos: con CSS hay cosas que SIMPLEMENTE no se pueden hacer. Desde luego, poner estos entrebancos no es el mejor aliciente para que toda una horda de programadores y diseñadores se olviden de las tablas y utilicen sólamente el diseño con CSS (de hecho yo me hubiera ahorrado algunas SEMANAS de trabajo si hubiera seguido haciéndolo así). Esperemos que se lo curren más en la siguiente versión...

  • por corwin (8645) el Martes, 18 Enero de 2005, 03:09h (#424623)
    ( http://www.chevrelbureau.com )
    A ver, yo llevo mas de 2 años diseñando cualquiera pagina que hago unicamente con CSS y muy pocas veces encuentro problemas. Pero quedemos una cosa muy clara : no hay NINGUN problema para hacer columnas que siguen la altura de una otra con CSS. Yo conoco por lo menos 2 métodos que funcionan perfectamente. El problema es que el soporte CSS2 de Internet Explorer no es lo bastante bueno para que funcionen esas soluciones en esta antigüedad de navegador y hay que usar hacks para él. Ejemplo : http://chevrel.org/ie7/tableless.htm el div de contenido tiene como altura minima la altura de la columna de menus en navegadores modernos (Gecko, opera, Safari), puedes comparar con IE y veras que este navegador no lo soporta. Si miro lo que pasa en mi pais (Francia), todas las webs corporativas importantes aprovechan una actualizacion para pasar a diseños enteramente CSS y les va muy bien, por ejemplo recientemente : http://www.zdnet.fr/ http://www.vnunet.fr/ http://www.eyrolles.com/ Por cierto, podréis todos notar que Eyrolles valida como XHTML1 Strict y ZDnet como XHTML1 transitional!! Lo que muestra que no es nada imposible crear una web importante que valide. Vnunet no valida por culpa de los javascript sucios de sus socios de publicidad incorporados automaticamente que no puede controlar.
    [ Padre ]
  • Je je...

    (Puntos:1)
    por Pndel (17582) el Miércoles, 19 Enero de 2005, 10:35h (#425724)
    ( http://www.chirimoyas.es/ | Última bitácora: Miércoles, 04 Noviembre de 2015, 22:57h )

    Gracias por el enlace, pero veo que NINGUNO de los diseños ofrece solución a lo que yo planteo: o bien se trata de columnas con fondo blanco (o sin fondo), o bien las laterales no se alargan hasta ocupar en alto lo mismo que la central, o bien hacen uso del truquillo de colocar una imagen de un pixel de altura que se repite verticalmente hasta el final, con los colores necesarios para simular el número de columnas que se quieran tener, y luego se colocan los "divs" por encima.

    [ Padre ]
  • 1 respuesta por debajo de tu umbral de lectura actual.