Notepad++ is THE editor for me. I need nothing else. There are tons of sites to learn/study/watch CSS/CSS examples. Suggestion: learn and understand the box-model
If you want to learn CSS you need to do it in combination with CORRECT (X)HTML. Tables are not for layouting websites... so you need to learn both at the same time. w3schools is the best to start with. It depends on the time you want to invest. Learning by doing, that should be the way...
W3schools will give you basics, and then there are whole lot of options available online - take a look at freeonlineprogrammingtutorials.com as well (only basics)
There are so many websites online that offer an array of teaching aids such as; jQuery Tutorial, ASP Tutorial, ASP.NET tutorial or CSS. For the most part, these types of programming languages and tools are going to give you the ability to develop applications and websites. You can either do this for your own businesses and websites or you could make a living out of this.