Breite und flexible Gegenstände gut zusammen spielen
Kurze Antwort: flex-shrink
und flex-basis
sind höchstwahrscheinlich die Lösungen, nach denen Sie suchen.
Detaillierte Antworten
Angenommen, Sie möchten, dass das Bild und der Text nebeneinander nebeneinander angeordnet werden:
Angenommen, Sie verwenden Flexbox, um dies zu erreichen. Festlegen des übergeordneten Elements zum display: flex;
ist ein guter Anfang.
<code>.container { display: flex; }</code>
sich herausstellen……
Hoppla! Ok, ich finde das akzeptabel. Es ist sinnvoll, dass das Bild nahe am Text liegt, da wir nicht die Breite des Bildes festlegen. Idealerweise möchten wir, dass das Bild eine feste Breite hat, und der Text nimmt dann den verbleibenden Raum ein.
Ok, lass es uns tun!
<code>.container { display: flex; } img { width: 50px; margin-right: 20px; }</code>
Das sieht in Chrome gut aus. Aber warte, was? Wenn wir das Bild -Tag in Firefox Devtools überprüfen, werden wir feststellen, dass es nicht der Breitenwert ist, den wir überhaupt festgelegt haben:
Wir können mit min-width
das Bild erzwingen, um die gewünschte 50px-Breite zu erreichen:
<code>img { min-width: 50px; margin-right: 20px; }</code>
Dies wird jedoch nur dazu beitragen, die Breite festzulegen, daher müssen wir auch einen Vorsprung hinzufügen.
<code>img { min-width: 50px; margin-right: 20px; }</code>
Das war's. Besser in Firefox und funktioniert immer noch in Chrome.
Detailliertere Antworten
Mir wurde klar, dass das Bild komprimiert ist, da wir flex-shrink
-Eigenschaft verwenden müssen, um Flex-Elemente nicht zu reduzieren, unabhängig davon, ob sie eine Breite haben oder nicht.
flex-shrink
-Wert aller Flex-Projekte beträgt 1. Wir müssen das Bildelement auf 0 festlegen:
<code>.container { display: flex; } img { width: 50px; margin-right: 20px; flex-shrink: 0; }</code>
Immer besser! Aber wir können immer noch mehr Verbesserungen vornehmen.
Endgültige Antwort
Wir können es weiter organisieren, da flex-shrink
in flex
Abkürzung enthalten ist.
<code>flex: none | [ ? || ]</code>
Wenn wir den flex-shrink
-Wert auf 0 einstellen und flex-basis
-Wert auf die Standardbreite des Bildes einstellen, können wir width
Breitenattribut vollständig beseitigen.
<code>.container { display: flex; } img { flex: 0 0 50px; margin-right: 20px; }</code>
Oh ja:
Ein weiteres Beispiel
flex-shrink
-Eigenschaft löst viele andere Probleme und es ist sehr wichtig, wenn Sie Flexbox verwenden möchten. Hier ist ein weiteres Beispiel dafür, warum: Ich bin auf eine andere Frage gestoßen, die den oben genannten ähnlich ist, die ich in meinem letzten Newsletter erwähnte. Ich erstelle eine Navigationskomponente, mit der der Benutzer mehrere Projekte links und rechts scrollen kann. Beim Überprüfen meiner Arbeit bemerkte ich die folgenden Probleme:
Längere Navigationselemente sollten nicht so einwickelt sein - aber ich habe dank früherer Fragen endlich bekommen, warum dies passiert. Wenn Sie flex-shrink
-Eigenschaft auf 0 einstellen, werden jedes Element in dieser Navigation nicht schrumpfen, sondern wie folgt die Breite des Inhalts einnehmen:
Ja, wir können den zusätzlichen Schritt erneut tun, um das flex
-Attribut zu verwenden, diesmal mit auto
als flex-basis
da wir für alle Elemente so viel Platz wie möglich berücksichtigen möchten, wenn Sie Platz im Navigationsbehälter zuweisen.
Es lebe! Wir haben es gelöst. Obwohl die Antwort nur eine Codezeile ist, ist es entscheidend, wirklich flexible Elemente zu erstellen.
Das obige ist der detaillierte Inhalt vonBreite und flexible Gegenstände gut zusammen spielen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

Es ist aus! Herzlichen Glückwunsch an das Vue -Team, dass es eine massive Anstrengung war und lange kommt. Alle neuen Dokumente auch.

Ich ließ jemanden mit dieser sehr legitimen Frage einschreiben. Lea hat gerade darüber gebloggt, wie Sie gültige CSS -Eigenschaften selbst aus dem Browser erhalten können. Das ist so.

Neulich habe ich dieses besonders schöne Stück von der Website von Corey Ginnivan entdeckt, auf der eine Sammlung von Karten aufeinander stapelt.

Ich sage "Website" passt besser als "Mobile App", aber ich mag dieses Rahmen von Max Lynch:

Wenn wir dem Benutzer direkt im WordPress -Editor Dokumentation anzeigen müssen, wie können Sie dies am besten tun?

Es gibt eine Reihe dieser Desktop -Apps, in denen das Ziel Ihre Website gleichzeitig in verschiedenen Dimensionen angezeigt wird. So können Sie zum Beispiel schreiben

Fragen zu lila Schrägstrichen in Flex -Layouts Bei der Verwendung von Flex -Layouts können Sie auf einige verwirrende Phänomene stoßen, wie beispielsweise in den Entwicklerwerkzeugen (D ...

Wenn die Anzahl der Elemente nicht festgelegt ist, wählen Sie das erste untergeordnete Element des angegebenen Klassennamens über CSS aus. Bei der Verarbeitung der HTML -Struktur begegnen Sie häufig auf verschiedene Elemente ...
