Margins en float

Margins overlappen bij standaard block-level elementen:

Voorbeeld hierrvan zie je in de eerste twee vierkante blokken hieronder.

Zodra je het element een float geeft, zal alle inhoud van dat element binnenin het element blijven. Dan steekt er geen margin meer naar buiten. Dat zie je in de onderste twee vierkante blokken. Ook als er een ander element met float is ingesloten zal de containing block ook íie binnen boord houden door mee te rekken met de inhoud.

Groen heeft rondom een margin van 50px. De margins tussen groen en rood overlappen.

De margin-top van de alinea steekt boven groen uit. Merk je niets van omdat ook de margin-top van de alinea en die van groen elkaar overlappen

Rood heeft rondom een margin van 50px. De margins tussen groen en rood overlappen.

De margin-top van de alinea steekt boven rood uit. Merk je niets van omdat ook de margin-top van de alinea en die van rood elkaar overlappen.

Groen heeft hier een float: left gekregen: de margins tussen groen en rood overlappen nu niet meer.

Float geeft block formatting context waardoor de margin-top van de alinea binnen groen blijft. (geldt niet in IE 6)

Rood heeft hier een float: left gekregen: de margins tussen groen en rood overlappen nu niet meer.

Float geeft block formatting context waardoor de margin-top van de alinea binnen rood blijft. (geldt niet in IE 6)

Met float voeg je Block Formatting Context (BFC) toe aan een block-level element. Misschien kan je Block Formatting Context (BFC) het beste vertalen met opmaak van een kader in samenhang met de omliggende kaders. Met de volgende combinaties van eigenschappen en waardes voeg je BFC toe aan een element:

Meer weten?

Meer over Block Formatting Context

Waarom een div in IE6 en IE7 wel zonder clear meerekt met een ingesloten floated block en in de moderne browsers niet

Zie ook de artikelen hierover van Zoe Gillenwater en Philippe Wittenbergh over dit onderwerp.

Terug | WaalWeb Webdesign | Tips bij Zelfstudiehandboek Websites Ontwikkelen