The best way to learn how to create websites and applications is to actually do it, meaning you should create projects, and to do it all the time. This short video conveys the emotions of a newcomer and gives some good advice on the subject.
However, just as you can't speak languages you don't know any words in, you need a good understanding of the basics before you can build a useful project. Here are some resources to pick up some some basics and sites that let you explore for yourself.
Good tutorial websites
There are great places to learn the basics of web development for free. Start here, but branch off of them to play around with things they don't directly teach. After going through a few, try making other sites/projects on your own from scratch. Doing so will reinforce the concepts, teach you implementation details, and likely teach you additional things as well. You simply can't become a good developer or designer by reading only, you must create!
- CodeAcademy - General knowledge basics of several languages.
- Tuts+ - Tutorials on more specific topics.
- KhanAcademy - I haven't used it personally, but it seems to be getting better every day.
I can't vouch for any of these personally because I have never paid for a course in web development, but these seem to be good places if you feel compelled to pay to learn.
Don't use W3Schools, it is generally outdated and very error prone. Instead, use a tutorial website like the ones above to learn and use one of the documentation sites below when you're looking for something specific.
Looking at documentation for properties, libraries, and such is vital to becoming a good web developer. The following are among the best docs you can use:
- W3.org - The official documentation for most everything implemented by web browsers. Learning to read these docs is very important! This is not affiliated with W3Schools in any way.
- Mozilla Docs - A very reliable 3rd party resource from the creators of FireFox that stays up to date.
- WHATWG.org - A sort of open source competitor to W3; some browsers implement certain suggestions from here over W3 at times.
- DevDocs - Not official, but has a lot of languages docs on one site. Quite convenient.
- Codrops - Subscribe to this feed. For inspiration and code to implement it, this is impossible to beat right now.
- WebPlatformDaily - A list of news dealing with everything web updated daily (except weekends).
- SitePoint - Really useful articles on various things.
- CSS-Tricks - Posts mostly about CSS related things.
- WebDesignerDepot - Can be on the spammy side, but most of their actual articles are good.
- Smashing Magazine - More advanced topics, but mostly all good reads.
- A List Apart - A bit more advanced knowledge in blog form.
Small projects/playing with code
- JSFiddle - Make little projects and keep track of them.
- CodePen - Look at other people's code doodles and submit your own for others to see.
Full text editors
Other useful websites
- My Resources page - A list of resources I've been compiling, ranging from an intro to responsive design to an analysis of different ways to animate in a web browser.
- StackOverflow - If you have a specific programming related question, StackOverflow is unmatched to get you help.
- LearnLayout - Learn some basics about doing layouts in CSS.
- 30 CSS selectors you should know - Get to know them and save you time later on. There's also a cool little game to test your CSS selector knowledge.
- CodeMentor and Thinkful - Sites where you can pay to be mentored 1 on 1.
Look for web developer's and designer's personal blogs that you like. They often have great, great content.
I have also written up an intro to UI design which could be very useful. I linked some additional great resources in it.
I cannot stress enough, the best way to learn is to build things that push your limits and to do so continually.
For an even larger (and perhaps overwhelming) list of helpful web related sites, checkout WebDesignRepo!