Ramon Pravia escribió:

stripTM escribió (Wed, 28 Dec 2005 20:12:27 +0100):

Ya pero el Mozilla ve el display: inline y lo aplica con lo cual
tiene que corregir alguno de los fallos.

Mmmmm, no. Corrígeme si me equivoco, pero si un elemento tiene display
inline y está flotado, automáticamente el valor computado para display es
block. Al menos eso me dice la experiencia, la especificación y el dom
inspector, que me muestra que al primer li se le aplica display block. Si
quitas el float sí aplicará el display inline, pero mientras sea un elemento
flotado, será una caja de bloque.


De hecho, aunque le eliminaras el display:inline y el
position:relative al primer elemento de lista, ves que el segundo
(que no está flotado) no se comporta como debería, sino que se
coloca a su derecha, como si estuviera flotado también.


No es que flote a la derecha, es que tiene un margin-left:377px;

No he dicho que flote a la derecha, digo que se comporta como si estuviera
flotado, concretamente como si estuviera flotado a la izquierda. Si el
primer elemento está flotado y el segundo no, el borde izquierdo de ambos
debería estar a la misma altura. El margin-left de 377px del segundo
elemento, por tanto, debería contarse desde el borde izquierdo de su
contenedor.

Pues bien, firefox lo que está haciendo aquí es colocar el segundo elemento
*que no está flotado* a la derecha del primero (como si estuviera flotado),
y una vez allí, le aplica el margin por la izquierda.


Realmente, hasta donde yo sé, no veo muy lógico este
comportamiento de firefox, pero seguramente se me está escapando
algo, no sé...


Mira a ver si se trata de ese margen.

No, evidentemente, si quitas ese margen, logramos lo que Daniel (supongo)
quería lograr inicialmente. El problema que yo veo es que Firefox está
aplicando ese margen desde donde lo está haciendo y no desde donde cabría
esperar. Repito que supongo que el hecho de que sean li's provoca este
comportamiento raro, porque tenemos un elemento de bloque seguido de un
list-item, que entiendo que no es lo más lógico.

Y para confirmarlo, repito de nuevo, si cambiamos los dos li por dos divs
con las mismas reglas, el comportamiento sí que es el que cabría esperar.

Espero que ahora se me haya entendido.
Vale, ya lo entiendo, despues de tanta putadilla al css no me estaba enterando, el problema está en que Mozilla a los li les mete un estilo interno:
-moz-float-edge: margin-box;
Mientras que los div tiene:
-moz-float-edge: content-box;

Si añades está última regla a los li verás que se comporta de la misma forma.

Y con esto sólo espero que Pascal nos cuente si es un "bug" o una "feature" ;-)

--
Saludos -=stripTM=-

_______________________________________________
Lista de distribución Ovillo
Para escribir a la lista, envia un correo a [email protected]
Puedes modificar tus datos o desuscribirte en la siguiente dirección: 
http://ovillo.org/mailman/listinfo/ovillo

Responder a