HTML & CSS voor beginners

HTML & CSS voor beginners (Deel 38): Alles stroomt met float.

Alle video's van de tutorial HTML & CSS voor beginners

Floaten is een van de cruciale CSS-concepten. Zonder begrip van dit principe kunnen webpagina's niet worden gemaakt op basis van CSS. Floaten kan hier overigens mooi worden vertaald als "vloeien", wat de kern van de zaak treffend weergeeft. Uiteindelijk betekent floaten namelijk niets anders dan dat een element links of rechts naast een ander element wordt geplaatst. (Normaal gesproken zou het element onder een ander element staan).

Een eerste voorbeeld zal dit aspect verduidelijken.

<p><img src="beeld.jpg" />
In deze set bevinden zich 12 Eigen Vormen, die je kunt gebruiken in je flyers, achtergronden, enz. De vormen zijn onderverdeeld in 18, 21 en 24 strepen en verschillende straalbreedtes. Deze presets vormen een goede basis voor mooie effecten in je lay-outs en afbeeldingen.</p>

Hier is een alinea gedefinieerd. Binnen deze alinea bevinden zich een afbeelding en gewone tekst.

Een blik op het resultaat laat zien dat de afbeelding in de tekststroom staat.

Nu komt het float-eigenschap in het spel.

img { float: left;}



Ook hiervoor werpen we een blik op het resultaat.





Hier is de afbeelding dus gefloat. De tekst stroomt hierdoor rond de afbeelding.

Aan de eigenschap float kan de waarden left en right worden toegewezen, om het element naar links (float: left) of rechts (float: right) te "laten zweven."

Je kunt ook meteen float: right toepassen op de afbeelding.





In dit geval gebeuren er drie dingen:

• De grafiek wordt uit de normale stroom verwijderd.

• Het wordt bovenaan weergegeven in het p-element.

• Het wordt zo ver mogelijk rechts weergegeven.

Een kijkje naar de tot nu toe behaalde resultaten maakt duidelijk dat het er nog niet echt mooi uitziet. Eigenlijk ontbreken de afstanden tussen afbeelding en omliggende tekst. Pas de syntaxis als volgt aan:

img { 
    float: left; 
    margin-right: 20px; 
 }



De afbeelding heeft een rechtermarge van 20 pixels gekregen. Dat levert het volgende beeld op:





Experimenteer hier gewoon een beetje met de randafstanden.

Het floaten beëindigen

Nogmaals terug naar het voorbeeld met de afbeelding. Ik voeg de syntaxis toe met een extra tekstalinea.

<p><img src="beeld.jpg" />In deze set bevinden zich 12 Eigen Vormen, die je kunt gebruiken in je flyers, achtergronden, enz. De vormen zijn onderverdeeld in 18, 21 en 24 strepen en verschillende straalbreedtes. Deze presets vormen een goede basis voor mooie effecten in je lay-outs en afbeeldingen.</p>
<p>In deze set bevinden zich 12 Eigen Vormen, die je kunt gebruiken in je flyers, achtergronden, enz. De vormen zijn onderverdeeld in 18, 21 en 24 strepen en verschillende straalbreedtes. Deze presets vormen een goede basis voor mooie effecten in je lay-outs en afbeeldingen.</p>



Het resultaat ziet er als volgt uit:



Niet alleen de eerste alinea omsluit de grafiek. Hetzelfde geldt ook voor de tweede tekstalinea. Dit komt eenvoudigweg omdat de grafiek uitsteekt boven de eerste alinea. Om dit beter te begrijpen, geef ik de alinea waarin de grafiek staat gewoon een achtergrondkleur.





Als je naar het resultaat kijkt, wordt duidelijk dat de grafiek daadwerkelijk uitsteekt boven de alinea. Dit is natuurlijk niet altijd gewenst. Op dit punt wordt de clear-eigenschap interessant. Hiermee kan het floaten worden beëindigd. clear dwingt een volgend element om daadwerkelijk onder een gefloat element te beginnen, en niet ernaast. De clear-eigenschap kent de volgende waarden:

left - beëindigt float: left

right - beëindigt float: right

both - beëindigt zowel float: right als float: left

In het volgende voorbeeld wijs ik aan de tweede alinea clear: left toe om het floaten te beëindigen.

<!DOCTYPE html>
 <html lang="de">
 <head>
 <title>PSD-Tutorials.de</title>
 <meta charset="UTF-8" />
 <style>
 img {
    float: left;
     margin-right: 20px;
 }
 </style>
 </head>
 <body>
 <p style="background-color:#CCFF66;"><img src="beeld.jpg" />In deze set bevinden zich 12 Eigen Vormen, die je kunt gebruiken in je flyers, achtergronden, enz. De vormen zijn onderverdeeld in 18, 21 en 24 strepen en verschillende straalbreedtes. Deze presets vormen een goede basis voor mooie effecten in je lay-outs en afbeeldingen.</p>
 <p style="clear:left;">In deze set bevinden zich 12 Eigen Vormen, die je kunt gebruiken in je flyers, achtergronden, enz. De vormen zijn onderverdeeld in 18, 21 en 24 strepen en verschillende straalbreedtes. Deze presets vormen een goede basis voor mooie effecten in je lay-outs en afbeeldingen.</p>
 </body>
 </html>



Door de getoonde syntaxis wordt de tweede alinea nu daadwerkelijk onder de afbeelding weergegeven.

In de meeste gevallen kunt u in plaats van clear: left of clear: right gewoon clear: both gebruiken. Daarom is het raadzaam om eenvoudigweg een bijbehorende klasse aan te maken in uw stylesheet, die u dan indien nodig kunt aanroepen.

.clearing {
    clear: both;
 }



U kunt deze klasse altijd gebruiken wanneer u het floaten van een element wilt beëindigen.

<p class="clearing">Inhoud ...</p>

Wat is het nut van floaten

Natuurlijk wordt floaten niet alleen gebruikt voor de tekststroom in verband met afbeeldingen. In feite vormt het het basisconcept van op CSS gebaseerde websites. Dankzij het floaten kunnen bijvoorbeeld eenvoudig meerdelige lay-outs worden gemaakt. Bekijk het volgende voorbeeld:

<!DOCTYPE html>
 <html lang="de">
 <head>
 <title>PSD-Tutorials.de</title>
 <meta charset="UTF-8" />
 <style>
 #navi {
     float:left;
     width:12em;
     background-color:#99FFFF;
 }
 #inhalt {
     margin-left: 14em;
     background-color: #FF3333;

 }
 </style>
 </head>
 <body>
 <div id="navi">
   <ul>
     <li>Startpagina</li>
     <li>Contact</li>
     <li>Colofon</li>
   </ul>
 </div>
 <div id="inhalt">
   Hier staat de inhoud van de website.
 </div>
 </body>
 </html>

Hier wordt een tweeslachtig lay-out opgezet. Het bijzondere hieraan: de kolommen staan naast elkaar.

HTML & CSS voor beginners (Deel 38): Alles in beweging met float



En juist deze naast elkaar staan wordt gerealiseerd via het float-concept. Uitgebreide informatie over het opzetten van websites op basis van floaten volgt verderop in deze serie.