25 Listopad

CLEARFiX

Čím jiným na blogu pojmenovaném CLEARFiX začít, než se stejnojmeným trikem :)
Většina kodéru tento trik určitě zná, a pokud ne tak se už určitě setkali s tímto problémem:

div zarovnaný doleva
div zarovnaný doprava

Pokud toto udělám, a neošetřím float, tak nám z divu content oba floatované divy „vytečou“.
Dříve se používalo např:

div zarovnaný doleva
div zarovnaný doprava

Nebo místo clear=“all“ se používalo (kvůli strictu) class=“clear“, kde clear byl nastylován jako clear:both, ale tento zápis se mí vubec nelíbil, proč kvůli takové „blbosti“ jako jsou dva floatované prvky dávat do kodu další tag, proto vzniknul clearfix:

/* slightly enhanced, universal clearfix hack */
.clearfix:after {
visibility: hidden;
display: block;
font-size: 0;
content: " ";
clear: both;
height: 0;
}
.clearfix { display: inline-block; }

/* start commented backslash hack \*/
* html .clearfix { height: 1%; }
.clearfix { display: block; }
/* stop commented backslash hack */

Po přidání do CSS, upravíme ještě zdrojový kod:

div zarovnaný doleva
div zarovnaný doprava

A po této úpravě se nám nic podobného už nemůže stát :)

Přidat na facebook.com Přidat na twitter.com Přidat na delicious.com Přidat na digg.com Přidat na stumbleupon.com Přidat na reddit.com
2 komentářů
  1. Prosinec 30, 2009 v 09:04 Filosof napsal:

    Prozradím ti sladké tajemství. Zkus místo šílenství zvaného clearfix použít v nadřazeném divu width:100%;overflow: hidden;…

  2. Prosinec 30, 2009 v 11:10 R4ms3S napsal:

    Ano tento postup už mi také někdo říkal, ale když jsem to zkoušel tak to myslím nefungovalo ve všech prohlížečích a navíc mě docela svazuje width, protože CLEARFIX používám na div, který je nejblíže textu a ten má většinou padding, proto se budu raději spoléhat na tento způsob, ale díky, píšu si za klobouk ;)



Přidat komentář