para html puedes aprender de esta pagina, que es algo antigua y no tan completa, pero para iniciar, lo bueno es aprender las funciones de cada tag (etiqueta), ya despues avanzas con teoria, validaciones y tags obsoletos,
http://creatuweb.espaciolatino.com/tutorhtml/
Despues más avanzado y muy completo en:
http://librosweb.es
Y para ir aprendiendo a base de experiencia y errores, una vez avances con CSS (que es la segunda opcion), puedes ver en mismo librosweb.es un par de manuales de CSS 2.1 (CSS3 dejalo pa despues) y las FAQ`s de forosdelweb tambien te las recomiendo para que veas ejemplos y examines codigos.
http://www.forosdelweb.com/f4/indice-faqs-html-116060/ http://www.forosdelweb.com/f53/faqs-css-114830/
Saludos.
P.D: primero el 1º link :)