Ver Mensaje Individual
  #50 (permalink)  
Antiguo 23/02/2010, 13:57
Caminantejm
 
Fecha de Ingreso: julio-2009
Mensajes: 75
Antigüedad: 15 años, 4 meses
Puntos: 2
Respuesta: Aporte: Guía de Migración a XHTML+CSS - Parte II

Buenas.
Estoy en esta tarea de la Migración y ciertamente sigue siendo dura a veces. Pero gracias de nuevo a la gente que estáis ayudando.
+ ¿Contradicciones en el funcionamiento de los float?
Esta cuestión parece fácil a simple vista.
1.- Expongo este estilo:
Código CSS:
Ver original
  1. div#pagina {
  2.   border: 1px solid #CCC;
  3.   background-color: salmon;
  4.   padding: 10px;
  5. }
  6.  
  7. .derecha {border: 1px solid crimson;
  8. width: 100px;
  9. height: 140px;
  10.   float: right;
  11. }
  12.  
  13. .izquierda {border: 1px solid saddlebrown;
  14. width: 100px;
  15. height: 140px;
  16.   float: left;
  17. }
  18.  
  19. div.clear {
  20.   clear: both;
  21. }

En este código.
Código HTML:
Ver original
  1. <div id="pagina">
  2.    
  3.     <div class="izquierda">Izquierda</div>
  4.    
  5.   <span style="background:aqua;">
  6.   Y si yo escribo algo, ¿dónde se guardaría esto? Veámoslo. Lo que no se es si continuaría hasta el final o no. Para comprobarlo intentaré
  7.   generar una línea gigante que tenga que sobrepasar el ancho razonable. Y si yo escribo algo, ¿dónde se guardaría esto? Veámoslo. Lo que no se es si continuaría hasta el final o no. Para comprobarlo intentaré
  8.   generar una línea gigante que tenga que sobrepasar el ancho razonable. Y si yo escribo algo, ¿dónde se guardaría esto? Veámoslo. Lo que no se es si continuaría hasta el final o no. Para comprobarlo intentaré
  9.   generar una línea gigante que tenga que sobrepasar el ancho razonable. Y si yo escribo algo, ¿dónde se guardaría esto? Veámoslo. Lo que no se es si continuaría hasta el final o no. Para comprobarlo intentaré
  10.   generar una línea gigante que tenga que sobrepasar el ancho razonable.</span>
  11.  
  12.     <div class="derecha">Derecha</div>
  13.  
  14.   Texto anterior al clear.
  15.   <div class="clear"></div>Texto posterior al clear.
  16. </div>


Resultado (Opera, Mozilla e IE):



---> En teoría, he leído en las recomendaciones de W3C "Un elemento flotante a la izquierda debe ser colocado lo más a la izquierda posible, y un elemento flotante a la derecha lo más a la derecha posible. Tiene preferencia una posición más alta que una que esté más a la izquierda/derecha".
Pues bien, aquí no se cumple.
---> Luego no parece tan estricto que se salgan del flujo los float. Se salen parcialmente y se van a la parte que encuentran más alta. Si hay un "p" que les impide o un "span" como en este caso no salen totalmente del flujo.


---> Sin embargo, si coloco en el HTML la izquierda y derecha juntas sí se cumple. Yo siempre he entendido que los float se salen del flujo y se van a la parte más alta. Pero aquí veo claramente que no. ¿Me falta algún detalle?

Código HTML:
Ver original
  1. <div id="pagina">
  2.     <div class="derecha">Derecha</div>
  3.     <div class="izquierda">Izquierda</div>
  4.    
  5.   <span style="background:aqua;">
  6.   Y si yo escribo algo, ¿dónde se guardaría esto? Veámoslo. Lo que no se es si continuaría hasta el final o no. Para comprobarlo intentaré
  7.   generar una línea gigante que tenga que sobrepasar el ancho razonable. Y si yo escribo algo, ¿dónde se guardaría esto? Veámoslo. Lo que no se es si continuaría hasta el final o no. Para comprobarlo intentaré
  8.   generar una línea gigante que tenga que sobrepasar el ancho razonable. Y si yo escribo algo, ¿dónde se guardaría esto? Veámoslo. Lo que no se es si continuaría hasta el final o no. Para comprobarlo intentaré
  9.   generar una línea gigante que tenga que sobrepasar el ancho razonable. Y si yo escribo algo, ¿dónde se guardaría esto? Veámoslo. Lo que no se es si continuaría hasta el final o no. Para comprobarlo intentaré
  10.   generar una línea gigante que tenga que sobrepasar el ancho razonable.</span>
  11.  
  12.   Texto anterior al clear.
  13.   <div class="clear"></div>Texto posterior al clear.
  14. </div>
Resultado ahora.


-------> 2.- Y una pregunta para Mikmoro si puede contestar. Le estaría muy agradecido. En la primera de la guía (Migración...) parte presentas un ejemplo de layout en dos columnas laterales (derecha e izquierda). El centro es líquido. ¿Por qué colocar primero en el HTML primero la derecha, luego la izquierda y posteriormente la central? ¿Hay algún motivo especial? Parece que la lógica dice primero va en el código la que te encuentras antes -izquierda-, después la central y al final la derecha.

Espero alguien me confirme esto.
Gracias de antemano.
Caminantejm.