CSS - Eigenschaft Float: Ein Anfängerleitfaden
Hallo da draußen, zukünftige CSS-Zauberer! Heute tauchen wir ein in die magische Welt der CSS-Float-Eigenschaft. Mach dir keine Sorgen, wenn du noch nie eine Zeile Code geschrieben hast - bis zum Ende dieses Tutorials wirst du Elemente wie ein Profi schweben lassen können!
Was ist die Float-Eigenschaft?
Bevor wir ins tiefe Wasser springen,fangen wir mit den Grundlagen an. Die Float-Eigenschaft ist wie ein magischer Zauberstab in CSS, der es Elementen ermöglicht, sich links oder rechts ihres Behälters zu schweben. Stell dir vor, du räumst Möbel in einem Raum an - die Float-Eigenschaft lässt dich Dinge an die Seiten schieben, sodass andere Elemente um sie herum fließen können.
Mögliche Werte
Die Float-Eigenschaft kann mehrere Werte annehmen, jeder mit seiner eigenen speziellen Kraft:
Wert | Beschreibung |
---|---|
left | Schwebt das Element nach links |
right | Schwebt das Element nach rechts |
none | Das Element schwebt nicht (Standard) |
inherit | Erbt den Float-Wert vom Eltern-Element |
Anwendungsbereich
Die Float-Eigenschaft kann auf die meisten HTML-Elemente angewendet werden, wird aber am häufigsten verwendet mit:
- Bildern
- Divs
- Absätzen
- Überschriften
Syntax
Hier ist die grundlegende Syntax für die Verwendung der Float-Eigenschaft:
auswahl {
float: wert;
}
Zum Beispiel:
img {
float: left;
}
Dies würde alle Bilder auf deiner Seite nach links schweben lassen.
CSS Float - Gleichbreite Spalten
Lassen wir mit einem praktischen Beispiel beginnen. Stell dir vor, du erstellst eine Website für eine Bäckerei und möchtest drei Arten von Pasteten nebeneinander anzeigen. So kannst du Float verwenden, um gleichbreite Spalten zu erstellen:
<div class="pastry-container">
<div class="pastry">Croissants</div>
<div class="pastry">Éclairs</div>
<div class="pastry">Macarons</div>
</div>
.pastry-container {
width: 100%;
}
.pastry {
float: left;
width: 33.33%;
padding: 15px;
box-sizing: border-box;
}
In diesem Beispiel schweben wir jede Pasteten-Div nach links und geben ihr eine Breite von 33.33% (100% geteilt durch 3). Das box-sizing: border-box
stellt sicher, dass die Innenabstandswerte in die Breitenberechnung einbezogen werden.
CSS Float - Gleichhohe Spalten
Nun, sagen wir, du möchtest diese Spalten unabhängig vom Inhalt gleich hoch haben. Wir können einen kleinen Trick mit Innenabstand und Außenabstand verwenden:
.pastry-container {
overflow: hidden;
}
.pastry {
float: left;
width: 33.33%;
padding-bottom: 500px;
margin-bottom: -500px;
}
Dies erzeugt die Illusion gleich hoher Spalten, indem ein großer Innenabstand nach unten hinzugefügt und ein gleichgroßer negativer Außenabstand nach unten verwendet wird.
CSS Float - Bilder nebeneinander
Fügen wir unserer Bäckerei-Website einige verführerische Pastetenbilder hinzu:
<div class="image-container">
<img src="croissant.jpg" alt="Croissant">
<img src="eclair.jpg" alt="Éclair">
<img src="macaron.jpg" alt="Macaron">
</div>
.image-container {
width: 100%;
}
.image-container img {
float: left;
width: 33.33%;
padding: 5px;
box-sizing: border-box;
}
Dies zeigt unsere Pastetenbilder nebeneinander an, wobei jedes ein Drittel der Behälterbreite einnimmt.
CSS Float - Flexible Boxes
Was aber, wenn wir ein flexibleres Layout wünschen? Hier kommt Flexbox, der Superheld der modernen CSS-Layouts:
.pastry-container {
display: flex;
flex-wrap: wrap;
}
.pastry {
flex: 1 0 300px;
margin: 5px;
}
Dies erstellt ein flexibles Layout, bei dem jede Pastetenbox mindestens 300px breit ist und sich auf den verfügbaren Raum ausdehnt.
CSS Float - Navigationsmenü
Floats werden oft verwendet, um horizontale Navigationsmenüs zu erstellen. Lassen wir ein Menü für unsere Bäckerei zaubern:
<nav>
<ul>
<li><a href="#home">Startseite</a></li>
<li><a href="#menu">Menü</a></li>
<li><a href="#about">Über uns</a></li>
<li><a href="#contact">Kontakt</a></li>
</ul>
</nav>
nav ul {
list-style-type: none;
padding: 0;
}
nav li {
float: left;
}
nav a {
display: block;
padding: 10px 20px;
text-decoration: none;
color: #333;
}
Dies erstellt ein horizontales Navigationsmenü, wobei jedes Element nach links schwebt.
CSS Float - Web-Layout
Floats können verwendet werden, um ganze Web-Layouts zu erstellen. Hier ist ein einfaches zweispaltiges Layout:
<div class="container">
<header>Willkommen in unserer Bäckerei</header>
<nav>
<!-- Navigations-elemente hier -->
</nav>
<main>
<article>Unsere Geschichte</article>
<aside>Heutiges Special</aside>
</main>
<footer>Kontaktieren Sie uns</footer>
</div>
.container {
width: 100%;
max-width: 1200px;
margin: 0 auto;
}
header, nav, footer {
width: 100%;
clear: both;
}
main {
width: 100%;
}
article {
float: left;
width: 70%;
}
aside {
float: right;
width: 25%;
}
Dies erstellt ein Layout mit einem Hauptinhaltbereich und einer Seitenleiste.
CSS Float - Absatz
Floats können verwendet werden, um Text um Bilder herum zu schlingen:
<div class="content">
<img src="baker.jpg" alt="Unser Chef-Bäcker" class="float-left">
<p>Treffen Sie unseren Chef-Bäcker, Chef Pierre. Mit über 30 Jahren Erfahrung...</p>
</div>
.float-left {
float: left;
margin-right: 15px;
}
Dies lässt den Text um das Bild unseres Chef-Bäckers herumlaufen.
CSS Float - Bilder mit Außenabstand
Dem schwebenden Bild Außenabstand hinzuzufügen kann die Lesbarkeit verbessern:
img {
float: left;
margin: 0 15px 15px 0;
}
Dies fügt unserem schwebenden Bild etwas Abstand hinzu.
CSS Float - Kein Schweben
Manchmal musst du verhindern, dass ein Element schwebt. Die clear
-Eigenschaft kommt zur Rettung:
.no-float {
clear: both;
}
Dies stellt sicher, dass das Element mit der no-float
-Klasse unter allen schwebenden Elementen erscheint.
CSS Float - Nach links oder rechts schweben
Denke daran, du kannst Elemente nach links oder rechts schweben lassen:
.float-left {
float: left;
}
.float-right {
float: right;
}
CSS Float - Überlappende Bilder
Sei vorsichtig! Schwebende Elemente können sich überlappen, wenn nicht genügend Platz ist. Du kannst dies mit richtiger Bereinigung verhindern:
.clearfix::after {
content: "";
display: table;
clear: both;
}
Füge diese Klasse dem übergeordneten Behälter der schwebenden Elemente hinzu, um ein Überlappen zu verhindern.
CSS Float - Bilder nicht nebeneinander
Manchmal möchtest du, dass schwebende Bilder in ihrer ursprünglichen Reihenfolge bleiben:
img {
float: left;
clear: left;
}
Dies stellt sicher, dass jedes Bild auf einer neuen Zeile beginnt.
CSS Float - Unter Vorgänger schweben
Um Elemente unter ihre Vorgänger zu schweben:
.float-below {
clear: both;
float: left;
}
Dies bereinigt alle vorherigen Schwebungen und schwebt das Element.
CSS Float - Auf eine neue Zeile
Um ein Element nach schwebenden Elementen auf eine neue Zeile zu zwingen:
.new-line {
clear: both;
}
CSS Float - Verwandte Werte
Hier ist eine Tabelle der float-verwandten Eigenschaften und Werte:
Eigenschaft | Werte |
---|---|
float | left, right, none, inherit |
clear | left, right, both, none, inherit |
overflow | visible, hidden, scroll, auto |
Und das war's, Leute! Du hast gerade deine ersten Schritte in die Welt der CSS-Floats gemacht. Denke daran, Übung macht den Meister, also habe keine Angst, mit diesen Techniken zu experimentieren. Bereit zum Coden!
Credits: Image by storyset