Yeah as conqeror said w3schools is brilliant for HTML and CSS, if you can't do something google for tutorials on it. It's probably worth getting a book on layout in CSS, or a long tutorial. Many people have headaches with layout early on (including myself).
If you don't understand anything look it up on wikipedia as soon as you see it.
Look for tutorials on web design design theory. There's a book called "principals of beautiful web design" It's the only good one I read on this, I don't know how complete it is, it'll certailny teach you some basics, but play around and learn as you go (
see this thread I just had).
Then there's also javascript and PHP.
Learn to use mysql in your PHP. (I'd say there's a niche for providing services in other database software like oracle).
If you're doing jobs then the more you know the more jobs you can do (some will tell you exactly what languages to do it in). PHP is a
server side language, if you want to learn more, there's quite a few python, ASP, RUBY, JSP, and loads more. Also if you get into python look up django.
Then there's
CMSs these are things like wordpress and this forum. You can modify the themes on these, and get paied/do it for yourself. Make sure you can install them without worries.
If you haven't already (unless you want to hire an admin) you'll need to learn to use Linux. I mean you don't
have to use linux, but if you're serious then using a windows platform just isn't optimal (though some would debate otherwise). Also learn to use apache, .htaccess, that's not too hard.
To get experience using linux you may want to play about with a live CD (download a CD with the operating system on it, then boot from it instead of your windows. This allows you to play around with linux without writing to your hard drive.)
If you're serious that this is what you want to do your whole life then there's more! Get really good at linux and look up BSD, see if you think BSD would be a better alternative (IMO it is, but why learn two?!). You need to know about security - web securitry, host security (like linux security's file permisions, and much more) and a little bit of network security so you know what you're doing.
I dought if this forum appreciates this but what I did to learn is use places like the pirate bay to download book after book after book and with them I learned to program, and use linux and BSD (okay I'm not that good at BSD
yet). I also have a flavor of linux installed on my laptop.
Of course you also need to write decent words. And use photoshop.
Also some things for you to look up that you may choose to learn to do: SEO, marketing, logo design, errm what else guys?