It's really helpful to deconstruct website designs. So I frequently look at a website and think about sections I would redesign, how I would do it, and most importantly - why. Sometimes I break out an image editing program and redesign the sections or even the entire page.
The huge advantage with this approach is that the content is already provided. When I started learning web design, I would come up with hypothetical website ideas (like "I'll design a website for a law firm") and then try to create the content in addition to the website. But it doesn't work like that. You need content to work with before you can create the site. So you're much better off finding an actual law firm website, using their content, and redesigning sections or the entire page. Along the way, with a little help from usability resources like those mentioned above, you will also figure out which content actually belongs, which doesn't, and why. But the point is this: take something that's already built, break it down, and rebuild it.
Web design is not graphic design. It's not a subset of it, not even a sibling design branch and if anything, it's a distant cousin. Making stuff for the web is much closer to industrial/product design and architecture than anything in the communication arts. It's a different matter to design things simply to look good than it is to design how they work.
Longer explanation at alistapart: http://alistapart.com/articles/understandingwebdesign
So then how would you learn fundamental design principles without getting polluted by the biases of print design? The best answers below are a bit dispersed (too many pointers to the css/html/js skills you said you already know) so I'll distill: 1) learn only the core graphic design principles - see endlessvoid94's book recommendation. 2) I second PStamatiou's advice to get your own site and start tinkering with it immediately, preferably a blog. Can't stress this second tip enough, actually.
If you can afford the time and expense, a one-day Carson Workshop from a CSS master can help a lot. This one is already past, but for example: http://carsonworkshops.com/design-dev/clarke/14May2008.html
For off-the-web inspiration, study Edward Tufte (http://www.edwardtufte.com), architecture (for example, Christopher Alexander: http://en.wikipedia.org/wiki/Christopher_Alexander), and cartography (peruse a great atlas like The Atlas of Oregon: http://geography.uoregon.edu/infographics/projects/atlasPrin...).
Look at examples/sites that make you say “wow” and try to disseminate them and rebuild them. Always challenge yourself to do something just outside your current ability. When you start building (anything) you will usually suck. After n builds you will suck less. After 2n builds you be ok. After 3n builds you will be fairly good ...and so on.
Take the teachings/examples/tips you come across in the books/blogs/youtube and apply them to yourself and your work. Build a wiki (or any document) with what you find useful and tailor it to your learning. In due time, with persistence, you will find you start to get better/good.
http://news.ycombinator.com/item?id=191171 - Design prototyping.
http://news.ycombinator.com/item?id=128713 - CSS and XHTML.
Tags: [html] [design] [css] [xhtml] [newbie]
Absolute classic. The original version was all about design for letterheads, posters, etc. but all the principles apply suprisingly well to web design.
I believe its out of print but you might be able to find it on amazon.
An even shorter and online version of the same idea - the blog post on "how c.r.a.p. is your design?" on the role and usage of contrast, repetition, alignment and proximity:
http://www.thinkvitamin.com/features/design/how-crap-is-your...
Where to start?
http://www.zeldman.com/ (and his book)
http://www.smashingmagazine.com/ (inspiration and tools)
http://psdtuts.com/ (for photoshoppy help)
http://webdesignfromscratch.com/
As for books this is by far the most comprehensive list of books I have found for web design:
http://www.blogdesignblog.com/blog-design/25-must-buy-borrow...
I like o'reilly's book web design in a nutshell very good reference (little dated in some cases (not much for beginner, has all the ropes, just not up on latest browsers firefox 1.0 or 1.5...) though hopefully a 4th edition is on it's way)
ooh... and don't forget http://csszengarden.com great for seeing how powerful css really is and getting some good idea's for design.
A random mother finds VIm's UI hard. A random hacker finds VIm's UI excellent.
I'll go line-by-line through their original HTML and CSS and rebuild the page.
This seems simple and obvious, but after years of hacking design, I am still impressed and inspired by spending an hour or two mucking about in other people's code.
It's a bit dated but there's a good book on the topic by Joe Shepter called "Personal Web Sites: Top Designers Push the Boundaries with Experimental Design and Graphics" - Amazon link: http://tinyurl.com/3wxy7h
Just ask yourself how you'd rate someone's skills after summer programming course. (yes, programming; not typography, usability, information architecture, HCI, CSS, just "design")
I can't imagine that such courses are completely useless. Of course you are not an expert after that, but at least it can get you started.
In fact my gf just had to learn painting in a short amount of time, and even a one day course teaching some basic skills was very helpful.
McFarland: "CSS, Missing Manual"
Crockford "Javascript, the good parts"
"Pro JavaScript Design Patterns" Ross Harmes and Dustin Diaz
"JavaScript: The Definitive Guide" Flanagan
Then spend a lot of time tinkering. Always keep the basic principals of usability in mind.