A good way to start is to find some templates on <a href="http://oswd.org">http://oswd.org</a> & modify them. Then, once you can swing it, start building stuff from scratch.<p>Oh and find a copy of photoshop or a comparable graphics program. Gimp is good (and free), but if you can find PS for cheap, go for that.
Get familiar with FireBug, by far the best Firefox extension for web development. ( <a href="http://www.getfirebug.com">http://www.getfirebug.com</a> ) It's how I learned CSS. If you're interested in the user interface/experience side of design, it'll help you there too. It's got great Javascript tools.<p>There's a bit of a learning curve, but Firebug seriously changed the way I design and code.<p>Other than that, do what you'd do to learn any other creative skill -- find examples that you love, and dissect them. Figure out exactly what it is that turns you on and incorporate those details in your own work. Good luck!
Read A List Apart's articles, it's dedicated to people who make websites. This is, "A Guide for New Readers":<p><a href="http://alistapart.com/articles/ALAprimer">http://alistapart.com/articles/ALAprimer</a>
I wouldn't worry so much about graphics programs - after all, there are no graphics on this site and you use it, right? Start by learning how to do valid markup and get good at CSS. I second the recommendation of <a href="http://alistpart.com">http://alistpart.com</a>
A couple of good books to read too:
1) Don't make me think
2) Designing interfaces (by Tidwell)
3) Defensive design for the web<p>Anyone have additional books that they've read?
There's a <i>lot</i> more to being a web design expert than learning to code in HTML and CSS. <p>So sayeth Jeffrey Zeldman:<p>Information architecture. Usability. Accessibility. Web standards. If you don't know about these things, stop designing websites until you have learned. Competence in graphic design is merely a baseline; it does not qualify you to create user experiences for the web.<p>Every time I think I can stop talking about these obvious, simple truths, some crazy bad 90s style train wreck hits me headlong and makes me weep anew.<p>(<a href="http://www.zeldman.com/2007/04/18/cant-link-with-em/)">http://www.zeldman.com/2007/04/18/cant-link-with-em/)</a>
Expertise in any artistic en devour, whether it be painting or chess is best learned by studying the masters. So find the website designs you like and take the time to try recreating them. If you need an design application I recommend the GIMP.
for me it was the same way that i learned programming or guitar:<p>1. start with tutorials or poking at an existing design until it does what you want; learn the fundamentals of html and css from a dummies-level book or tutorials<p>2. find motifs or patterns you like, and reverse engineer (i.e. steal) them: specifically, start with a canvas with the original image on the left and try to create it from scratch on the right<p>3. repeat 2 until you have a toolkit of techniques (e.g. web 2.0 motifs like gradients, rounded corners, patterned backgrounds, reflections, all that cliched shit :)) and can put together things from scratch<p>4. integrate more formal theory (graphic design books, typography, photoshop/illustrator technique, web design books, etc.)<p>your first few designs will suck, but you'll get better :) but definitely learn by doing.
To me, a web design expert needs intuition about usability, an eye for graphic design, and the skills to use photoshop to create mockups and then turn them into clean and robust CSS & HTML.<p>You can bootstrap some of those by starting out with someone elses attractive, nicely implemented templates, but you'll still need some sense of typography, usability & CSS/HTML skills to adapt them to your own app/site.