Wie Sie sehen können, bricht eine Flexbox nicht in zwei Teile, sondern zeigt nur den blauen Teil an. Wenn Sie die overflow: hidden
auskommentieren funktioniert es wie beabsichtigt. Warum?Warum ist das Flex-Layout von seinem Überlaufinhalt betroffen?
Der .nav
Inhalt ist über die Breite.
.cont {
width: 200px;
height: 300px;
background-color: red;
display: flex;
}
.aside {
width: 50px;
height: 100%;
background-color: green;
}
.nav {
/*overflow: hidden;*/
flex: 1;
background-color: blue;
}
.info {
max-width: 70%;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
word-wrap: normal;
}
.name {}
<div class="cont">
<div class="aside"></div>
<div class="nav">
<div class="info">
<span class="name"> tes te s dnaosdjw d adondnasjdoqnsnda djj</span>
</div>
</div>
</div>
thx, jetzt weiß ich den Grund, warum .aside Element schrumpfen. Eine weitere Frage ist, ob ich den Überlauf entfernen möchte: versteckt vom .nav-Element. Seine Breite ist größer als 150 px. es erweitert sich! Warum? –
Da ein Flex-Element standardmäßig nicht kleiner als sein Inhalt sein kann. Die anfängliche Größe eines Flex-Elements ist "min-width: auto". Sie können dies mit 'min-width: 0' überschreiben: https://jsfiddle.net/eoy4saty/ –
http://stackoverflow.com/q/36247140/3597276 –