OK first, differentiate web developer and web designer.
a developer typically does the coding, html, css, js, backend... etc.
a designer typically designs the site, and leaves the coding to the developer. its quite rare to find a single person who is very good at both. decide what appeals to you most, and go with that option.
obonio: "xhtml and css is the future". hmm well both are already here, although xhtml is widely misused. html should still be used for 99% of the cases that xhtml is being used for currently.
Books that you should at least know of:
http://www.amazon.com/exec/obidos/ASIN/073571410X/ref=no sim/stopdesign-20
http://www.amazon.com/exec/obidos/ASIN/0735713286/ref=no sim/stopdesign-20
http://www.amazon.com/exec/obidos/ASIN/0735712069/ref=no sim/stopdesign-20
http://www.amazon.com/exec/obidos/ASIN/0735712018/ref=no sim/stopdesign-20
especially the last one.
another source of absolutely invaluable information, more so than any book, are blogs on the web. if you're really serious about it, start reading around the blogs in some of the web-dev circles. you'll learn a lot.
side note: for more technical books on languages like javascript etc., o'reilly books are the best you can buy.