For practice, try dropping React and simply build the layout you want. When you’re happy, rebuild it with React.
The single most insight-dense resource I've found are Steve Schoger's "design tips". They are not all layout-specific; a lot deal with design, but I figure it's still relevant content.
Here's a list of his tips: https://twitter.com/i/events/994601867987619840
[0] https://developer.mozilla.org/en-US/docs/Web/CSS/CSS_Box_Mod...
I stumbled up it while browsing https://htdp.org/2019-02-24/ and discovering Matthew Butterick
I’d highly recommend Bulma for css... why? Well my biggest reason is it’s CSS only. Meaning you can very easily use it anywhere with anything.
It is simple, works well, and the documentation is quite good.
In general I’d say avoid anything that is both CSS and JavaScript. They are only going to cause headaches as almost everyone’s layout is different and as you know fixing these issues is a lesson in suffering.
Just my two cents...
for instance traversy media: https://www.youtube.com/channel/UC29ju8bIPH5as8OGnQzwJyA
for the layout stuff, checkout their videos on flexbox: https://www.youtube.com/watch?v=JJSoEo8JSnc or this one on grid: https://www.youtube.com/watch?v=moBhzSC455o
you can also get whole courses or books if you want...
but i have seen so much of the evolution of html/css/js that i want to say investing in a lengthy book or courseware is not worth it. you better invest that time learning tech that has been proven to last.
My learning app is pretty small and limited to the menu with several simple views on each tab.
It gives a nice default look and components are trivial to extend.
If you want a more grid based layout.
You can then use flexbox within your grid to place columns/rows