Flexbox und Float: Eine instabile Kombination
Beim Versuch, Text rechts von einem Fußzeilenelement innerhalb eines Flex-Containers zu positionieren, verwenden Sie die Float-Eigenschaften scheinen eine natürliche Wahl zu sein. Allerdings stößt diese Technik auf ein unerwartetes Hindernis.
Wenn die Anzeigeeigenschaft auf „Flex“ gesetzt ist, wird die Float-Eigenschaft für alle untergeordneten Elemente im Container unwirksam. Dieses Verhalten ergibt sich aus den Grundprinzipien von Flexbox.
Flexbox und Float: Ein Aufeinandertreffen von Prinzipien
Die Float-Eigenschaft wird hauptsächlich in traditionellen Blocklayouts verwendet, wo sie dies zulässt Elemente, um nachfolgende Inhalte beiseite zu schieben. In einem Flex-Container hat der Layout-Algorithmus jedoch Vorrang vor diesen Regeln.
Wie in der Flexbox-Spezifikation angegeben:
Floats dringen nicht in den Flex-Container ein und die Ränder des Flex-Containers werden nicht zusammengeklappt mit den Rändern seines Inhalts.
Eine geeignetere Lösung: Flex Eigenschaften
Anstatt sich auf die Float-Eigenschaft zu verlassen, bietet Flexbox eine geeignetere Lösung: die justify-content-Eigenschaft. Durch Setzen von justify-content auf flex-end werden Elemente innerhalb des Flex-Containers am rechten Rand ausgerichtet.
Code-Snippet:
footer { display: flex; justify-content: flex-end; } footer span { text-align: right; }
<footer> <span> <a>foo link</a> </span> </footer>
Dieser überarbeitete Ansatz positioniert den „foo-Link“ erfolgreich rechts vom Fußzeilenelement und behält dabei a bei Flex-Layout.
Das obige ist der detaillierte Inhalt vonWarum funktioniert Float nicht mit Flexbox und was ist die bessere Alternative?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!