a.css

esbudellant estàndards


Col·lisió de caixes i flotants

08/04/07

Aquest artícle és un resum de "Haciendo fluír divs con bordes" d'en Ramón Pravia de Caótico Neutral.

Objectiu

Flotar una caixa de manera que les caixes següents flueixin al voltant seu realment i no pas només el contingut de text.

Solució

Al flotar una caixa el contingut de les següents flueix al voltant seu però no les caixes contenidores d'aquest tal i com mostra la figura 1.

figura 1. On es motra la disposició d'una caixa flotant normal.

Però tal i com mostra la figura 2:

figura 2. On es mostra la disposició desitjada.

per aconseguir que les caixes també flueixin cal donar-los un overflow: auto és a dir, donat un XHTML tal que:


<div class="flotant">
lorem ipsum...
</div>
<p>lorem...</p>
<p>lorem...</p>

Amb un CSS tal que:


.flotant {
   float: left;
   width: 20em;
}

Caldrà afegir una regla pels paràgrafs, és a dir:


.flotant {
   float: left;
   width: 20em;
}
p {
   overflow: auto;
}

Aquesta solució és vàlida per navegadors tipus Firefox, Opera, Safari i per Internet Explorer 7.

Per Internet Explorer 6 cal afegir una propietat més als paràgrafs per desencadenar el hasLayout, per exemple un height: 1%:


.flotant {
   float: left;
   width: 20em;
}
p {
   overflow: auto;
   height: 1%;
}

Comentaris

  1. Comentat per Lali el 19/04/07

    Realment molt útil, avui mateix ja ho he aplicat!

Afegir un comentari


© Arnau Siches. a.css està sota Llicència Creative Commons.