Martin Flex: Frage zum Wiki-Artikel „flex“ hier: flex-shrink

Beitrag lesen

problematische Seite

Hallo,

ich versuche gerade zu verstehen, wie firefox und chrome den flex-shrink Wert interpretieren. Ich habe folgendes gemacht:

HTML:

<main class="flexcontainer">

<article class="item1">Kiste 1</article>

<article class="item2">Kiste 2</article>

</main>

CSS:

.flexcontainer {display: flex;}

.item1 { flex: 1 1 300px; }

.item2 { flex: 2 2 400px; }


So weit so einfach. Die Summe der Basis-Werte ist 700px, wenn ich den Viewport größer als 700 px ziehe, beispielsweise auf 1000px, so verteilen sich die zusätzlichen 300px im Verhältnis 1:2 auf die beidem Flex-Items. Kiste 1 wird somit 300px + 100px = 400px groß und Kiste 2 wird 400px + 200px = 600px groß. Das Verhalten kann ich in Firefox und Chrome im Inspektor im Layout-Fenster nachvollziehen.

Jetzt die Überraschung (für mich):

Ist der Viewport kleiner als 700px, so hatte ich erwartet, dass die Differenz zu 700px wieder im Verhältnis der shrink-Werte von den Basis-Größen abgezogen würde.

Also: Ist der Viewport 400px groß, ist er 300px kleiner als die Summe der flex-basis Werte (300px + 400px) und diese 300px zu wenig würden im Verhältnis der shrink-Werte 1:2 aufgeteilt. Der Kiste 1 würden 100px abgezogen und der Kiste 2 200px.

Das Verhältnis jedoch beträgt: 3:8 !!

Ein Beispiel mit geraden Werten: Vieport: 480px, Kiste 1 :240px Kiste 2 :240px; Die Differenz ist also 220px. Von Kiste 1 wurden 60px abgezogen, von Kiste 2 160px. Das Verhältnis ist also 60 : 160 oder eben: 3:8.

Kann mir jemand helfen, was ich falsch verstanden habe??

Vielen Dank! Martin