1. The parent has `display-inside: flow` or `display-inside: flow-root` (ie, the "original", pre-flexbox, formatting contexts)
eg `display: block`, `display: inline`, `display: inside-block`
2. The children have `display-outside: inline` eg, `display: inline`, `display: inline-block`, `display: inline-flex`
In any other combination, the source-whitespace disappears, in some way or other.----
What I think you want, a horizontal row disregarding source-whitespace, could be achieved with `display-inside: flex` (eg, `display: flex`, `display: inline-flex`) on the parent (with `flex-direction: row` being the default). So:
img-row {
display: flex;
}
aka img-row {
display: block flex;
}
aka (though this syntax has been temporarily removed) img-row {
display-outside: block;
display-inside: flex;
}
aka img-row {
display-outside: block;
display-inside: flex;
flex-direction: row; /* the default */
}
----Note that this longhand syntax doesn't seem to be implemented in Chrome, at least, yet. So if you want to check it out, you'll have to work in the shorthand (still translatable from the longhand as specified in the draft spec https://drafts.csswg.org/css-display/#propdef-display).