Die direkten untergeordneten Elemente eines Flex-Containers werden automatisch zu flexiblen (Flex-)Elementen.
Das obige Element stellt vier blaue Flex-Elemente in einem grauen Flex-Container dar.
<div class="flex-container">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
</div>
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<head>
<style>
.flex-container {
display: flex;
background-color: #f1f1f1;
}
.flex-container > div {
background-color: DodgerBlue;
color: white;
width: 100px;
margin: 10px;
text-align: center;
line-height: 75px;
font-size: 30px;
}
</style>
</head>
<body>
<h1>Flexible Items</h1>
<div class="flex-container">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
</div>
<p>All direct children of a flexible container becomes flexible items.</p>
</body>
</html>
Die Flex-Item-Eigenschaften sind:
order
flex-grow
flex-shrink
flex-basis
flex
align-self
Die Eigenschaft order
gibt die Reihenfolge der Flex-Elemente an.
Das erste Flex-Element im Code muss nicht als erstes Element im Layout erscheinen.
Der Bestellwert muss eine Zahl sein, der Standardwert ist 0.
Die Eigenschaft order kann die Reihenfolge der Flex-Elemente ändern:
<div class="flex-container">
<div style="order: 3">1</div>
<div style="order: 2">2</div>
<div style="order: 4">3</div>
<div style="order: 1">4</div>
</div>
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<head>
<style>
.flex-container {
display: flex;
align-items: stretch;
background-color: #f1f1f1;
}
.flex-container>div {
background-color: DodgerBlue;
color: white;
width: 100px;
margin: 10px;
text-align: center;
line-height: 75px;
font-size: 30px;
}
</style>
</head>
<body>
<h1>The order Property</h1>
<p>Use the order property to sort the flex items as you like:</p>
<div class="flex-container">
<div style="order: 3">1</div>
<div style="order: 2">2</div>
<div style="order: 4">3</div>
<div style="order: 1">4</div>
</div>
</body>
</html>
Die Eigenschaft flex-grow
gibt an, um wie viel ein Flex-Element im Verhältnis zu den übrigen Flex-Elementen wächst.
Der Wert muss eine Zahl sein, der Standardwert ist 0.
Sorgen Sie dafür, dass das dritte Flex-Element achtmal schneller wächst als die anderen Flex-Elemente:
<div class="flex-container">
<div style="flex-grow: 1">1</div>
<div style="flex-grow: 1">2</div>
<div style="flex-grow:
8">3</div>
</div>
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<head>
<style>
.flex-container {
display: flex;
align-items: stretch;
background-color: #f1f1f1;
}
.flex-container > div {
background-color: DodgerBlue;
color: white;
margin: 10px;
text-align: center;
line-height: 75px;
font-size: 30px;
}
</style>
</head>
<body>
<h1>The flex-grow Property</h1>
<p>Make the third flex item grow eight times faster than the other flex items:</p>
<div class="flex-container">
<div style="flex-grow: 1">1</div>
<div style="flex-grow: 1">2</div>
<div style="flex-grow: 8">3</div>
</div>
</body>
</html>
Die Eigenschaft flex-shrink
gibt an, um wie viel ein Flex-Element im Vergleich zu den übrigen Flex-Elementen schrumpft.
Der Wert muss eine Zahl sein, der Standardwert ist 1.
Lassen Sie das dritte Flex-Element nicht so stark schrumpfen wie die anderen Flex-Elemente:
<div class="flex-container">
<div>1</div>
<div>2</div>
<div style="flex-shrink:
0">3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
<div>10</div>
</div>
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<head>
<style>
.flex-container {
display: flex;
align-items: stretch;
background-color: #f1f1f1;
}
.flex-container>div {
background-color: DodgerBlue;
color: white;
width: 100px;
margin: 10px;
text-align: center;
line-height: 75px;
font-size: 30px;
}
</style>
</head>
<body>
<h1>The flex-shrink Property</h1>
<p>Do not let the third flex item shrink as much as the other flex items:</p>
<div class="flex-container">
<div>1</div>
<div>2</div>
<div style="flex-shrink: 0">3</div>
<div>4</div>
<div>5</div>
<div>6</div>
<div>7</div>
<div>8</div>
<div>9</div>
<div>10</div>
</div>
</body>
</html>
Die Eigenschaft flex-basis
gibt die anfängliche Länge eines Flex-Elements an.
Legen Sie die Anfangslänge des dritten Flex-Elements auf 200 Pixel fest:
<div class="flex-container">
<div>1</div>
<div>2</div>
<div style="flex-basis: 200px">3</div>
<div>4</div>
</div>
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<head>
<style>
.flex-container {
display: flex;
align-items: stretch;
background-color: #f1f1f1;
}
.flex-container > div {
background-color: DodgerBlue;
color: white;
width: 100px;
margin: 10px;
text-align: center;
line-height: 75px;
font-size: 30px;
}
</style>
</head>
<body>
<h1>The flex-basis Property</h1>
<p>Set the initial length of the third flex item to 200 pixels:</p>
<div class="flex-container">
<div>1</div>
<div>2</div>
<div style="flex-basis:200px">3</div>
<div>4</div>
</div>
</body>
</html>
Die Eigenschaft flex
ist eine Abkürzungseigenschaft für flex-grow
-, flex-shrink
- und flex-basis
-Eigenschaften.
Machen Sie das dritte Flex-Element nicht erweiterbar (0), nicht schrumpfbar (0) und mit einem Anfangslänge von 200 Pixeln:
<div class="flex-container">
<div>1</div>
<div>2</div>
<div style="flex:
0 0 200px">3</div>
<div>4</div>
</div>
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<head>
<style>
.flex-container {
display: flex;
align-items: stretch;
background-color: #f1f1f1;
}
.flex-container>div {
background-color: DodgerBlue;
color: white;
width: 100px;
margin: 10px;
text-align: center;
line-height: 75px;
font-size: 30px;
}
</style>
</head>
<body>
<h1>The flex Property</h1>
<p>Make the third flex item not growable (0), not shrinkable (0), and with an initial length of 200 pixels:</p>
<div class="flex-container">
<div>1</div>
<div>2</div>
<div style="flex: 0 0 200px">3</div>
<div>4</div>
</div>
</body>
</html>
Die Eigenschaft align-self
gibt die Ausrichtung für das ausgewählte Element innerhalb des flexiblen Containers an.
Die Eigenschaft align-self
überschreibt die Standardausrichtung, die durch die Eigenschaft align-items
des Containers festgelegt wird.
In diesen Beispielen verwenden wir einen 200 Pixel hohen Container, um den besser zu veranschaulichen align-self
-Eigenschaft:
Richten Sie den dritten Flex-Artikel in der Mitte des Containers aus:
<div class="flex-container">
<div>1</div>
<div>2</div>
<div style="align-self:
center">3</div>
<div>4</div>
</div>
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<head>
<style>
.flex-container {
display: flex;
height: 200px;
background-color: #f1f1f1;
}
.flex-container > div {
background-color: DodgerBlue;
color: white;
width: 100px;
margin: 10px;
text-align: center;
line-height: 75px;
font-size: 30px;
}
</style>
</head>
<body>
<h1>The align-self Property</h1>
<p>The "align-self: center;" aligns the selected flex item in the middle of the container:</p>
<div class="flex-container">
<div>1</div>
<div>2</div>
<div style="align-self: center">3</div>
<div>4</div>
</div>
<p>The align-self property overrides the align-items property of the container.</p>
</body>
</html>
Richten Sie das zweite flexible Element oben am Behälter und das dritte flexible Element an der aus Boden des Behälters:
<div class="flex-container">
<div>1</div>
<div style="align-self:
flex-start">2</div>
<div style="align-self:
flex-end">3</div>
<div>4</div>
</div>
Probieren Sie es selbst aus →
<!DOCTYPE html>
<html>
<head>
<style>
.flex-container {
display: flex;
height: 200px;
background-color: #f1f1f1;
}
.flex-container > div {
background-color: DodgerBlue;
color: white;
width: 100px;
margin: 10px;
text-align: center;
line-height: 75px;
font-size: 30px;
}
</style>
</head>
<body>
<h1>The align-self Property</h1>
<p>The "align-self: flex-start;" aligns the selected flex item at the top of the container.</p>
<p>The "align-self: flex-end;" aligns the selected flex item at the bottom of the container.</p>
<div class="flex-container">
<div>1</div>
<div style="align-self: flex-start">2</div>
<div style="align-self: flex-end">3</div>
<div>4</div>
</div>
<p>The align-self property overrides the align-items property of the container.</p>
</body>
</html>
In der folgenden Tabelle sind alle Eigenschaften von CSS-Flexbox-Elementen aufgeführt:
Gibt die Ausrichtung für ein Flex-Element an (überschreibt die align-items-Eigenschaft des Flex-Containers)
Eine Abkürzung für Flex-Grow, Flex-Shrink und Flex-Basis Eigenschaften
Gibt die anfängliche Länge eines Flex-Elements an
Gibt an, um wie viel ein Flex-Element im Verhältnis zu den übrigen Flex-Elementen im selben Container wächst
Gibt an, wie stark ein Flex-Element im Verhältnis zu den übrigen Flex-Elementen im selben Container schrumpft
Gibt die Reihenfolge der Flex-Elemente innerhalb desselben Containers an