Flex-Basis flex-basis bestimmt, wie viel Platz das Element auf der Hauptachse einnimmt. Sofern es nicht mit Sie können einen bestimmten CSS-Größenwert dafür angeben oder den Prozentsatz des übergeordneten Elements angeben, den es einnimmt. Der Standardwert ist <!-- demo-1 --> <div Klasse="übergeordnet"> <div Klasse="child1">100px</div> <div Klasse="child2">200px</div> </div> <div Klasse="übergeordnet"> <div class="child1">10 %</div> <div class="child2">20 %</div> </div> <div Klasse="übergeordnet"> <div class="child1">30 %</div> <div class="child2">auto</div> </div> <Stil> .übergeordnet { Breite: 500px; Anzeige: Flex; Rand unten: 15px; Textausrichtung: zentriert; Hintergrundfarbe: #eeeeee; } /** Pixelwert */ .übergeordnet:n-tes-Kind(1) .Kind1 { Flex-Basis: 100px; Hintergrundfarbe: #356969 } .übergeordnet:n-tes-Kind(1) .Kind2 { Flex-Basis: 200px; Hintergrundfarbe: #369925; } /** Prozentsatz */ .übergeordnet:n-tes-Kind(2) .Kind1 { Flex-Basis: 10%; Hintergrundfarbe: #356969 } .übergeordnet:n-tes-Kind(2) .Kind2 { Flex-Basis: 20 %; Hintergrundfarbe: #369925; } /** automatisch*/ .übergeordnet:n-tes-Kind(3) .Kind1 { Flex-Basis: 30%; Hintergrundfarbe: #356969 } .übergeordnet:n-tes-Kind(3) .Kind2 { Flex-Basis: Auto; Hintergrundfarbe: #369925; } </Stil> Flexibel wachsen flex-grow legt die Skalierung des Elements fest, wenn im Flex-Container noch Platz vorhanden ist (die Größe des Flex-Containers abzüglich der Summe der Größen aller Flex-Elemente). Der Standardwert ist 0 (es wird nicht vergrößert, auch wenn noch Platz vorhanden ist). Wenn alle Elemente den gleichen Flex-Grow-Eigenschaftswert haben, teilen sie sich den verbleibenden Platz gleichmäßig, andernfalls werden sie entsprechend den durch die unterschiedlichen Eigenschaftswerte definierten Verhältnissen verteilt. Wenn beispielsweise die Hauptachsenlänge 600 Pixel beträgt, nimmt Element 1 50 Pixel, Element 2 100 Pixel und Element 3 150 Pixel ein. Der verbleibende Platz beträgt dann: 600 Pixel – (50 Pixel + 100 Pixel + 150 Pixel) = 300 Pixel. Wenn der Eigenschaftswert <!-- demo-2 --> <div Klasse="übergeordnet"> <div Klasse="child1">50px + 100px</div> <div Klasse="child2">100px + 100px</div> <div class="child3">150px + 100px</div> </div> <Stil> .übergeordnet { Breite: 600px; Anzeige: Flex; Textausrichtung: zentriert; Farbe: #eee; } .Kind1 { Flex-Basis: 50px; Flex-Wachstum: 1; Hintergrundfarbe: #0066CC; } .Kind2 { Flex-Basis: 100px; Flex-Wachstum: 1; Hintergrundfarbe: #009900; } .Kind3 { Flex-Basis: 150px; Flex-Wachstum: 1; Hintergrundfarbe: #CC3300; } </Stil> Angenommen, die Werte der Flex-Grow-Eigenschaft der einzelnen Elemente sind nicht identisch. Beispiel: Element 1 ist 1, Element 2 ist 2 und Element 3 ist 3. Dann beträgt der ihnen zugewiesene verbleibende Speicherplatz: <!-- demo-3 --> <div Klasse="übergeordnet"> <div Klasse="child1">50px + 50px</div> <div Klasse="child2">100px + 100px</div> <div Klasse="child3">150px + 150px</div> </div> <Stil> .übergeordnet { Breite: 600px; Anzeige: Flex; Textausrichtung: zentriert; Farbe: #eee; } .Kind1 { Flex-Basis: 50px; Flex-Wachstum: 1; Hintergrundfarbe: #0066CC; } .Kind2 { Flex-Basis: 100px; Flex-Wachstum: 2; Hintergrundfarbe: #009900; } .Kind3 { Flex-Basis: 150px; Flexibel wachsen: 3; Hintergrundfarbe: #CC3300; } </Stil> Was ist, wenn der Attributwert eine Dezimalzahl ist? Hier gibt es zwei Situationen: <!-- demo-4 --> <div Klasse="übergeordnet"> <div Klasse="child1">50px + 60px</div> <div Klasse="child2">100px + 90px</div> <div class="child3">150px + 120px</div> </div> <Stil> .übergeordnet { Breite: 600px; Anzeige: Flex; Textausrichtung: zentriert; Farbe: #eee; } .Kind1 { Flex-Basis: 50px; Flex-Wachstum: 0,2; Hintergrundfarbe: #0066CC; } .Kind2 { Flex-Basis: 100px; Flex-Wachstum: 0,3; Hintergrundfarbe: #009900; } .Kind3 { Flex-Basis: 150px; Flex-Wachstum: 0,4; Hintergrundfarbe: #CC3300; } Flex-Schrumpf Flex-Shrink legt den Vergrößerungsfaktor des Elements fest, wenn im Flex-Container nicht genügend Platz vorhanden ist. Der Standardwert ist 1 (das Element wird verkleinert, wenn nicht genügend Platz vorhanden ist). Die Berechnungsmethode von Flex-Shrink unterscheidet sich geringfügig von Flex-Grow. Es gibt zwei Faktoren, die beeinflussen, wie stark das Flex-Element schrumpfen soll. Einer ist der Wert der Flex-Shrink-Eigenschaft und der andere die Größe des Flex-Elements selbst. Sie schrumpfen entsprechend ihrer jeweiligen Gewichte. Beispiel: Die Hauptachsenlänge beträgt 600 Pixel, Element 1 belegt 100 Pixel, Element 2 belegt 300 Pixel, Element 3 belegt 500 Pixel und <!-- demo-5 --> <div Klasse="übergeordnet"> <div Klasse="child1">100px - 15px</div> <div class="child2">300px – 135px</div> <div class="child3">500px – 150px</div> </div> <Stil> .übergeordnet { Breite: 600px; Anzeige: Flex; Textausrichtung: zentriert; Farbe: #eee; } .Kind1 { Flex-Basis: 100px; Flex-Schrumpf: 1; Hintergrundfarbe: #0066CC; } .Kind2 { Flex-Basis: 300px; Flex-Schrumpf: 3; Hintergrundfarbe: #009900; } .Kind3 { Flex-Basis: 500px; Flex-Schrumpf: 2; Hintergrundfarbe: #CC3300; } </Stil> Wenn der Wert von Flex-Shrink eine Dezimalzahl ist, gibt es zwei Fälle: <!-- demo-6 --> <div Klasse="übergeordnet"> <div Klasse="child1">100px – 9px</div> <div class="child2">300px – 135px</div> <div class="child3">500px – 90px</div> </div> <Stil> .übergeordnet { Breite: 600px; Anzeige: Flex; Textausrichtung: zentriert; Farbe: #eee; } .Kind1 { Flex-Basis: 100px; Flex-Schrumpf: 0,1; Hintergrundfarbe: #0066CC; } .Kind2 { Flex-Basis: 300px; Flex-Schrumpf: 0,3; Hintergrundfarbe: #009900; } .Kind3 { Flex-Basis: 500px; Flex-Schrumpf: 0,2; Hintergrundfarbe: #CC3300; } </Stil> Da nur ein Teil des Überlaufraums verkleinert wird, übersteigt die Gesamtbreite der Elemente innerhalb des Div tatsächlich die Breite des Div. Das Obige ist eine kurze Einführung in die Berechnungsmethode von Flex-Grow und Flex-Shrink im Flex-Layout. Der Code in diesem Blog wurde mit Github synchronisiert Quellen: Das Obige ist der vollständige Inhalt dieses Artikels. Ich hoffe, er wird für jedermanns Studium hilfreich sein. Ich hoffe auch, dass jeder 123WORDPRESS.COM unterstützen wird. |
<<: Unterschied zwischen HTML4 und HTML5: So fügen Sie einer Eingabe Fokusimplementierungscode hinzu
>>: Natives JS zum Erzielen eines Schiebeknopfeffekts
Zunächst können Sie den Unterschied zwischen den ...
Problembeschreibung Die MySQL-Startfehlermeldung ...
Nehmen wir ein Benutzerverwaltungssystem an, bei ...
Normalerweise besteht das Ziel beim Erstellen ein...
1. ref wird kopiert, die Ansicht wird aktualisier...
Indem wir den aktuellen Bildlaufversatz zu den At...
Phänomen Bei der Verwendung von Apache Spark 2.x ...
Inhaltsverzeichnis Vorwort: 1. Gründe für die Ere...
Inhaltsverzeichnis Vorwort Eingabefeldkomponente ...
In diesem Artikel wird der spezifische JavaScript...
Installieren der erforderlichen Dateien Yum insta...
Vorwort Die logische Datenträgerverwaltung von lv...
Docker erfreut sich seit zwei Jahren großer Belie...
Inhaltsverzeichnis Vorwort Wie kapselt Antd Kompo...
Ich bin vor kurzem mit MySQL in Berührung gekomme...