a.css

esbudellant estàndards


Contenció de caixes flotants amb overflow: hidden

23/11/06

Una de les tècniques més robustes actualment per aconseguir que una caixa contingui tots els seus fills flotants és usar overflow: hidden.

A Hack: Contenir caixes flotants vaig explicar el mètode tal i com el proposava n'Alex Walker però després de força proves l'he desestimat en pro d'aquest.

La tècnica

Donat un XHTML:


<div id="contenidor">
   <p id="flotant">
      Lorem ipsum dolor sit amet,
      consectetuer adipiscing elit.
   </p>
   <p>
      Sed commodo. Fusce fringilla molestie libero.
      In ac diam vitae eros fringilla congue.
   </p>
</div>

S'aplicaria un CSS tipus:


#contenidor {
   overflow: hidden;
   _display: inline-block; /*només per IE6*/
}

L'ús del guió baix a l'exemple només serveix per marcar les propietats exclusives per l'Internet Explorer 6.

L'overflow: hidden farà que els navegadors tipus Firefox, Opera, Safari, Konqueror i Internet Explorer 7 contingui les caixes flotants.

Per l'Internet Explorer 6 caldrà afegir només per ell un display: inline-block. En navegadors tipus Opera i Safari pot donar algun efecte no desitjat.

Si s'ha de donar suport per Netscape 7.1 de Windows aquesta tècnica no és vàlida i caldria seguir emprant la tècnica de la caixa generada.

Aquesta solució funciona millor en la majoria de navegadors ja que l'ús de l'overflow: auto fa que la caixa capturi el focus creant un problema de navegació mitjançant el teclat i en Internet Explorer genera scrolls no desitjats.

Comentaris

  1. Comentat per choan el 23/11/06

    Un exemple amb un hack invàlid… Benvingut al ”reverso tenebroso” XD

  2. Comentat per are el 24/11/06

    Només és un mètode per diferenciar aquí què és de l’IE6 i què no ;)

  3. Comentat per Francesc Rosàs el 07/12/06

    Bon hack. Fins ara he anat amb l’easy clearing hack però veig que aquest li dóna mil voltes en senzillesa.

    PD: Veig que, al previsualitzar, el text escrit canvia lleugerament (el apòstrofs canvien per la seva entitat, s’afegeixen els tags dels paràgrafs, …)

  4. Comentat per are el 07/12/06

    Sí, encara em cal revisar el tema de formateig per eliminar les entitats aquestes.

Afegir un comentari


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