Scrimba is a site for learning code combining video and IDE. So you can do some coding while watching, yes learn by doing.
It's slogan is: The easiest way to teach and learn code.
It has many free courses for react, vue, etc.
Bulma is a CSS framework easy to follow. When you define columns it can align automatically.