In my mind, design is one of those things that is really best learned through practice and observation. While there are certainly fundamental principles to design, there really isn't a technology of design in the sense that you can teach it in a manner that always translates to successful execution. In other words, you can learn the recipe but still botch the meal. Not because you don't understand the principles, but because you lack the instincts (built through practice and observation) to understand how to communicate through design.
The best method I've found for learning design (aside from actually doing it) is to take note of designs that strike you and really dig into them. Ask yourself why the designer might have made the choices he did. How has the designer used line, shape, texture, color and space to achieve a sense of balance and unity (or their opposites). What has the designer chosen to emphasize? Why? Take notice of all the small and subtle elements that contribute to the overall feel of the design.
As for the technical side, well that stuff isn't too hard. There is an abundance of material covering CSS, HTML and Javascript. Tutsplus has some excellent free courses and tutorials. As do the sites that sebphfx mentions.
Just remember not to confuse development with design. Knowing CSS and Javascript doesn't make you any more of a designer than my 3 year old nephew. If you want to make beautiful stuff, you gotta keep practicing and observing.
Best of luck, take care.