Wie Sie verhindern, dass ein flex-box wächst mit dem Inhalt
In den code und jsfiddle unten flexbox Proportionen verändert sich mit Inhalt. Ich bin Gefühl, das ich nicht verstehen den wahren Sinn des flexbox hier. Wenn wir geben flex-grow
Eigenschaften für die Proportionen, die wir wünschen, ist, warum die Boxen wachsen mit Inhalt?
Bemerken, wenn dataDiv
hat neue span-Inhalt in das Verhältnis gebrochen mit dem Inhalt. Sie können beobachten, wie es ist, die erwarteten Proportionen, wenn Sie löschen die span
innen dataDiv
. Warum geschieht dies?
https://jsfiddle.net/4shaz5oy/
CSS:
.container {
display: flex;
flex-flow: row wrap;
height: 100vh;
}
.mapBox {
flex: 2;
background-color: red;
}
.controlBox {
flex: 1;
display: flex;
flex-direction: column;
background-color: green;
}
.controlPanel {
flex: 1;
max-height: 33%;
background-color: yellow;
padding: 5px;
text-align: center;
}
.dataPanel {
flex: 2;
max-height: 66%;
background-color: blue;
padding: 5px;
}
HTML:
<div class="container">
<div class="mapBox"></div>
<div class="controlBox">
<div class="controlPanel">
<div class="buttonDiv"></div>
<div class="buttonDiv"></div>
<div class="buttonDiv"></div>
</div>
<div class="dataPanel">
<div class="dataDiv">
<span>yoyoyoyasdasdadsadasdasdasdasdasdasdasdadada</span>
</div>
</div>
</div>
</div>
- Mögliche Duplikate von " flex-grow nicht Größenanpassung flex-Elemente als erwartet
Du musst angemeldet sein, um einen Kommentar abzugeben.
Den
flex-grow
legt fest, wie die verbleibenden Raum verteilt werden sollten unter den flex-Elementen, nicht die Elemente selbst.Für Ihre Größe, die Sie verwenden
flex-basis
CSS:
HTML:
Basierend auf Kommentare, hier ist ein Vereinfachtes Beispiel, wie Größe
CSS:
HTML:
overflow: auto
. Auf diese Weise wächst nicht senkrecht, sondern beginnen zu Blättern.Wie es aussieht funktioniert alles wie erwartet, das problem ist es ist kein Platz unter
yoyoyoyasdasdadsadasdasdasdasdasdasdasdadada
Fokus das Feld, um zu wachsen.Wenn Sie
.dataPanel {word-break: break-all;}
sehen Sie die Unterschiede.