Do I not understand the flex-grow property?
You have to specify a value for flex-basis as well (not specifying this property causes behaviour similar to using the initial value, auto). Add flex-basis: 0; to both children or just set it with the shorthand: .flex-item { flex: 1; /* flex-basis is 0 if omitted */ } .big { flex-grow: 3; } http://codepen.io/anon/pen/JEcBa