The best and easiest, way to learn CSS (or any computer language) is to think of a project and build it. And the next, and the next. Learn by doing. Like:
- I'm interested in relativity, so I built a web site about myths and erroneous ideas about it.
- I'm interested in philosophy, so I built a web site about it.
- I had an idea about a better form of proportional representation, so I built a web site about it. Etc...
Each site has gone through many gestations, initially table based, then fixed width divs, now responsive. All the time learning more about how to build sites, as well as finding an outlet for my other interests...