Ver Mensaje Individual
  #13 (permalink)  
Antiguo 13/10/2012, 07:59
furoya
(Desactivado)
 
Fecha de Ingreso: noviembre-2002
Ubicación: Ciudad Autónoma de Buenos Aires
Mensajes: 2.367
Antigüedad: 21 años, 5 meses
Puntos: 317
Respuesta: Problema con height del div principal

Cita:
Iniciado por mariogl84 Ver Mensaje

No es un problema usar display:table, ya que el css determina cómo se verán las cosas en el navegador, y por tanto estamos fuera del campo de la semántica. Un problema semántico sería usar tables en el html sin estar tabulando datos, es decir, usarlas para posicionar elementos en la página, que es lo que se hacía antes y lo que hemos desechado (afortunadamente).


Eso de que el CSS es "de vista" mientras que el HTML es "de cuerpo" terminó siendo bastante relativo. Hubo muchas discusiones sobre el tópico.
Pero creo que se acabaron cuando apareció content. Ahora CSS mete elementos en la página. Y parece que también fuerza al navegador a completar los que faltan; no lo probé, pero si al crear un elemento de tabla con CSS, se crea un elemento de celda en su interior, ya no hay discusión : es una tabla, y no se usa para maquetar. Porque ese salto o espaciado, es maquetación y no tabulado.



Esta implementación del clearfix está ampliamente aceptada por la comunidad, y es la que llevan, por ejemplo, las últimas versiones de Bootstrap y HTML5 Boilerplate.

No me lo tomés a mal, pero lo que acepten otros ne nefrega. A mi me interesa lo que está bien, o mal. Por eso expongo razones.


En cualquier caso, en la misma página el autor dice que el display:table se puede sustituir por display:block en caso de no usar el :before para evitar los márgenes colapsados, así que también se puede implementar con display:block en vez de table.

Pero sí, por supuesto. Seguro mencioné esa salvedad. Y si no lo puse antes, es porque me olvidé. Soy el primero en aceptar que las cosas se hacen "como se debe", mientras se puede. Cuando no, hasta te maqueto con tablas HTML. Si hay que mandar un div para saltar un flotado, se manda.

Cita:
Iniciado por mariogl84 Ver Mensaje
De todos modos, independientemente de nuestras diferencias en cuanto a si usar o no el display:table, creo que estamos todos de acuerdo en que poner un div vacío en el html es peor que usar alguna de estas soluciones CSS, ¿no?

Qué se yo. Como dije recién, "la necesidad tiene cara de hereje". Si lo tenemos que usar, lo usamos. Mi punto es que se entienda que no es gratis, que en verdad si nos ponemos en exquisitos para usar una tabla sin tabular datos, acá tendríamos que hacer lo mismo.
Es parecido al caso del que usa display:table en un bloque para alinear texto verticalmente, y se siente exculpado solamente porque no pone la etiqueta <table>. Está haciendo lo mismo, o peor, porque a la etiqueta seguro que le agrega las filas y celdas, pero con css siempre se lo olvidan. Y no se pone una tabla sin celdas.