600px

Der blaue Balken dient als Messlatte. Vergrößere und Verkleinere das Browserfenster.

Der Flexcontainer hat eine Breite von 100%, da ihm keine Breite zugwiesen wurde. Er nimmt die Breite des Browserfensters ein.

Die 3 Flexitems haben folgende Eigenschaften:

.flex1 { flex: 3 1 200px; }
.flex2 { flex: 1 1 200px; }
.flex3 { flex: 1 2 200px; }

flex ist die Kurzschreibweise für die 3 Werte flex-grow, flex-shrink, flex-basis

flex-grow ist das Verhältnis beim Vergrößern, der erste sollte hier 3 mal so groß sein, als einer der beiden anderen.

flex-shrink ist das Verhältnis beim Verkleinern. Der dritte sollte doppelt so klein sein, als einer der beiden anderen.

flex-basis ist die gewünschte Standardgröße

Wenn das Browserfenster auf die Breite des blauen Balkens geschoben wird, hat der Flexcontainer die Breite von 600 Pixeln und die Basisgröße eines der 3 Flexitems ist 200 Pixel. Sie haben alle die gewünschte Basisgröße von 200 Pixeln.
3 x 200 = 600

Ist das Browserfenster größer, sollte flex-grow zum Tragen kommen, ist es kleiner sollte flex-shrink ausgeführt werden. Das geschieht auch, aber nicht schlagartig. Wie man beobachten kann, wird flex-grow und flex-shrink erst dann richtig dargestellt, je mehr oder weniger Platz zur Verfügung steht. Schiebt man das Fenster sehr klein, wird der dritte doppelt so klein wie einer der anderen. Schiebt man es sehr groß, wird der erste 3 mal so groß als einer der beiden anderen. flex-shrink und flex-grow nähert sich also langsam den gewünschten Werten an.