When I usually search Google, that's where it leads me to most often. That's a really great place to learn.
A lot of methodical practice after you learn the basics. Start with simple improvements on what you already know and build from there. Once you have the fundamentals down, try creating a site of your own with CSS. Then take a look at other sites CSS and see how they do it and see if you can recreate it on your own. I hope you enjoy your new found CSS knowledge!
go to http://www.w3schools.com/ they have very good short notes about Html and CSs.. of course you wont be a pro after learning all the snytax..it will give you a brief understanding on how to work with html and css.. and you can start to change code in html and css. Html and css is easy to learn because it you do not need any addition tool to learn them..all you need is a Notepad and a browser.. save them as .html or .htm then double click on the file saved..you can see your result immediately..
I started by writing some html code in notepad, save the file on my desktop with an html extension and open it in my browser. Then I added tags one by one and each time I refreshed the page in the browser.
Here is a small easy example: In notepad make one file (name it e.g. div.html) with this: <html> <head> <style> #header p { text-align: center} p {text-align: left} </style> </head> <body> <div id="header"> <p>Paragraph 1.</p> </div> <p>Paragraph 2</p> </body> </html> Then open the file in your browser. Paragraph 1 is centered because it's in the div while paragraph2 is not. I hope it helps
The best way to learn is start using website builders and trying to make cool things happen on your site that require a little amount of source editing. Then try building from scratch. HTML is pretty easy, All it basically is, is tags.