Hmm, I first I would just start dissecting HTML or xHTML - Figure out what each tag does. Then move on to how CSS can manipulate the HTML. Then move on to how ServerSide languages can manipulate html on the fly.
Ccoonen is 100% correct. However, don't just look at learning HTML/XHTML/CSS...but look into learning and following "Web Standards", it's takes the same learning curve but you will be learning for the future of the web and not what was accepted last decade . webstandards.org
My personal favorite is here: http://w3schools.com/html/html_intro.asp Start learning how to code HTML; once you've got your first site working, validate it at the W3C validator page: http://validator.w3.org/ The validator makes it easy to see where your page meets (and fails to meet) web standards. Finally, once you're comfortable writing standards-compliant HTML, make the switch over to XHTML. XHTML is basically a stricter, cleaner version of HTML. http://w3schools.com/xhtml/xhtml_intro.asp
This is a very cool site about CSS that I have been hoping to learn about: http://www.csszengarden.com Do you have a program you will be using to make the sites or will you be coding by hand?
I would definitely learn HTML first. What I did was used a WYSIWYG like Macromedia Dreamweaver when I started. Then, I looked at the code and figured out what it did by playing around and changing the code. Also, I used forums for all of my small questions about the parts of the code I didn't understand.
What are you trying to learn to make websites for? Are you going to sell them, or are you trying to make a website for a product you have created? Or a landing page or medium level between traffic and some affiliate program you have chosen. These things would help answer your question. Oliver