Ich habe width: 200px;
links eingestellt, <div>
aber wenn ich es mit dem Browser-Inspektor-Tool ansehe, scheint die tatsächliche Breite zufällig zu sein oder so. Es ändert sich ständig je nach Fenstergröße.
Warum wird die Breite nicht wirksam?
BEARBEITEN : Wenn ich entferne, width: 100%
bleibt die Breite fest. Aber ich brauche das, damit das #main
div die verbleibende Breite annimmt :( Gibt es eine Möglichkeit, die Seitenleiste bei fester Breite zu haben und die andere <div>
den Rest der Containerbreite auszufüllen? width: auto;
On #main
funktioniert nicht.
flex-flow: wrap;
, dem ContainerAntworten:
Entfernen Sie die Breite auf
.container > div
und verwenden Sieflex: auto;
auf#main
: Geige#main { flex: auto; background: lightblue; -webkit-order: 2; order: 2; }
quelle
Die Antwort von Adrift ist perfekt; aber eine Änderung, um es flexibler zu machen, wäre
#left{ flex-basis: 200px; flex-grow: 0; flex-shrink: 0; }
Und entfernen Sie die Eigenschaft width vollständig.
Es wäre die flexible Art zu sagen, dass das Element eine unveränderliche Breite von 200px haben wird
quelle
flex: 0 0 200px;
flex-shrink: 0
Eigenschaft hinzu, und die CSS-Breite wird berücksichtigt.order: 2
(um es nach rechts zu schalten) funktionierte einwandfrei, um eine Seitenwand zu erstellen. Vielen Dank!flex-shrink: 0
mein persönliches Problem beheben musste (wo esflex: auto
allein nicht behoben wurde)Meine bevorzugte Art, mit dieser Situation umzugehen, besteht darin, Folgendes hinzuzufügen:
flex-shrink: 0;
Auf diese Weise können Sie die Verwendung
width
in Ihrem Flex-Container fortsetzen und ihm spezifische Informationen darüber geben, wie sich dieses Flex-Element verhalten soll.Eine weitere Option, abhängig von der Anforderung, ist die Verwendung
min-width
, die bei der Verwendung von Flex berücksichtigt wird .quelle
Geben Sie dem
#left
div einmin-width
von200px
, sollte den Job machen.quelle
display: contents
Fügen Sie das Element oder div hinzu, für das Sie die Breite beibehalten möchten.quelle
Auch (wenn nichts von oben funktioniert)
Überprüfen Sie Ihre minimale und maximale Breite . Es hat das gleiche Problem für mich behoben, indem ich ihre Reichweite vergrößert habe.
quelle
display:inline-block;
In der linken Klasse hinzufügenquelle