I need to apply justify|align|content|items in the browser to make it do what I want. I can't for the life of me remember what they do.
But the underlying principles are neat. Flexbox gives me a container and an arbitrary number of children of various types which I can then position to my hearts delight. And things tend to fall in to place without me over-specifying every case.
As long as I'm working along one dimension, that is.
> but just looking at the raw HTML always leaves me a bit confused how elements on the page will relate to each other.
You say it like it's a bad thing. Chances are the relations are flexible.
One does run in to issues when the Flexbox rules apply across the bounds of components (e.g. Vue or React components) which makes composition difficult. Can be avoided by clearly separating layout from the rest. The S in SOLID applies to CSS as well.