To add to Paulie_D’s already perfect response…
You’re not going to write ‘good’ CSS from the start. You’re going to use terrible naming practices and have trouble with writing the wrong specificity and you’ll probably find yourself relying on
!important too often.
Which is fine. CSS has a learning curve like any other language.
On top of ‘just build websites’ I would recommend reading through some additional source material like http://caniuse.com … which can tell you if the CSS you want to use is supported ‘enough’. Nothing quite so awful as creating a gorgeous, elegant design that ultimately only works in a single browser.
But there are tons of CSS resources out there. Obviously this website has just an array of articles on the subject. You can read tons of solutions to various CSS troubles through StackOverflow, or sign up for classes through what seems like 100+ sites now.
And CodePen… I cannot tell you how much inspiration I derive from seeing what some clever individuals manage to put together on CodePen.