Excelente explicación alex, se necesitaba tu presencia en el hilo!!
Cita:
Iniciado por alexk height:1%; a div contenedores prefiero usar mi favorito overflow:hidden;
Claro, veo que height:1%; es utilizado para limpiar los float (¿verdad?), tarea que se lleva a cabo incluyendo overflow:hidden; al elemento padre de los elementos flotados. Con lo que logramos que nuestro documento valide.
Respecto de
vertical-align: baseline; dices que es lo mismo que aplicar
position:static; ? ¿o es mejor aplicar las dos propiedades?
A cerca de haslayout, ¿es cierta la siguiente afirmación?: ciertos elementos html en IE no tienen layout y esto significa que su tamaño y posicion pasan a depender de su elemento padre y solo si asignamos layout al elemento carente de layout este pasa a tener posición y tamaño propio.
Leí
aquí que para dar layout a los elementos que no tienen layout por defecto basta con incluir zoom:1;
Esto daría la pauta para crear un reset solo para ie al cual llamaríamos con su respectivo comentario condicional. Por ejemplo:
Código:
/*RESET para IE*/
/*damos layout a todos los elementos*/
*{zoom:1;}
/*quitamos el añadido de layout a los elementos que incluyen layout por defecto*/
html, body, table, tr, th, td, img, hr, input, button, select, textarea,
fieldset, legend, iframe, embed, object, applet, marquee {zoom:normal;}
/*ya que la propiedad zoom con valor normal no activa layout según este
artículo http://librosweb.es/css_avanzado/capitulo1/la_propiedad_haslayout_de_internet_explorer.html*/
Comparto
este artículo, a ver que les parece.
Bueno, es cierto lo que dice alexk respecto de que no hay una línea mágica crossbrowsing. Pero si al menos podemos resetear basicamente a IE en todas sus versiones ya nos sacaremos gran peso de encima.