It depends if you are OK with not having your own domain name for free you can use something like weebly go daddy or Yola.com But unless you want the one with your own domain name for free then as i recall there isn't a website hosting that allows you to have yor own domain name for free anywhere.
I also tend to find learning how to program from books to be an onerous process, but this topic is quite manageable to stick with!
As far as free hosting, I think I had free shared hosting with GoDaddy when I bought a .com from them. I generally don't support them as a company, but it might be an okay starting space, if you don't want to spend a lot yet. It's a good idea to have some sort of .com anyway, to start getting familiar with the lay of things. FTP and the like. A .com is about $10 a year at the right registrars. I've had good experiences with http://namecheap.com.
If you get started and run into some issues, pop 'em here!
Without doubt, the best place to start is http://www.w3schools.com (and google when you hit specific problems) - don't bother with a book on HTML or CSS.
I've been using biz.nf as a webhost (see: www.sketchy.co.nf ), and never had any problems until they decided to prohibit the uploading of zip files (although they still allow some other archive formats). It looks like Lembi's recommendation might be better...