Like gillesmigliori said, the difference is the spelling of Flex3. CSS is case sensitive to flex3 is not Flex3 which is not FLex3.
While lowercase is not necessarily “best practice”, it does help for consistency sake if everything is all lowercase or all uppercase. I personally prefer all lower case, but I’ve never seen a best practice for css which requires it.
The flex box width is hard coded, and so are the heights (essentially). You’ve set a min-height on all three, which means they’ll remain that size unless you have more content to make them taller.
If you want to see the boxes change size, add a height to .Flex-item to force them to change. If you want to see dynamic changes, set it something odd like height: 20vw which is counter-intuitive because vw is viewport width. Then, if you make the browser window wider, the boxes will grow. If you make the browser window wider, they’ll shrink until the min-heights are hit.
But typically, it’s a bad idea to put heights on containers that have content on them because you want the container to grow to hold all the content.
To my knowledge, there is no universally recognized standard for CSS naming. Still, at least the BEM is probably the most recognized one, and it recommends lowercase Latin Letters and hyphens.
I’m not a huge fan of BEM myself. Seems like overkill, especially with all the underscores - it can get unwieldly quickly. The couple times I’ve worked with systems using BEM, there ended up being duplication of styles because the same styling would be put into different areas, so you had div1__style1, div2__style1 which were exactly the same, when style1 could have been used for both.
But the underlying concepts I can get behind
be consistent - always follow the same pattern.
be descriptive (what the thing is, not how it should look like)
Personally I prefer camelCase across ALL platforms - both front end and back end. I find using this for all variables (which essentially class/ID names are) makes them easy to identify. But that’s just my opinion…