Nunja, ich habe HTML nie methodisch gelernt, deswegen kann ich Dir da nichts Gedrucktes empfehlen. Diese knapp 90 Elemente würde ich auch heute noch in ein paar Tagen brauchbar lernen - ( siehe Spezifikationen). Viele Elemente hängen syntaktisch zusammen oder sind phänotypisch äquivalent, das ist fürs tägliche Geschäft kein Hexenwerk. Letztlich hast Du Inline- und Blockelemente, Tabellenelemente und Formularelemente. (von den Listenelementen mal abgesehen und anonymen Zeilenboxen) Sofern es sich nicht um ein außergewöhnlich gutes Buch handelt und:
Solange Du darüber nicht promovieren willst, reicht Selfhtml locker ( da lehne ich mich aus dem Fenster und falle vielleicht hinaus
), die Spezifikation ist ein "on top" und natürlich die eigentliche Referenz.
Lies Dir zwei bis zehn Tage mal die HMTL Referenz durch, bastle Dir
mindestens ein Dutzend (einfachere) Webseiten komplett ohne CSS- Styling (auch ohne CSS-Reset, > dementsprechend einfach, aber es geht um die Grundlagen..) und ohne Inline-Styling, um zu sehen wie sich die Elemente verhalten und fange DANN mit CSS an. Du gewinnst auf diese Weise ein sehr gutes Gefühl dafür, wie sich Elemente durch CSS beeinflussen lassen. Das sieht zunächst langweilig aus, wird Dir aber sehr sehr viel bringen.
CSS ist deutlich komplexer. Neben der Theorie/Spezifikation ist hier auch die Praxis ausschlaggebend. Bei HTML gibt sich kein Browser eine entscheidende Blöße, bei CSS sieht es anders aus. Nicht nur, was das Vorhandensein eines Regelsets angeht, sondern auch in der Interpretation. Da ist Praxis wichtig und die Kenntnis von z.B. pie (positioniseverything.net)
HTML 5 ist eine Fortschreibung älterer HTML-Spezifikationen, ich würde mir deshalb 4.x anschauen, ansonsten HTML 5.x, wenn Du jetzt einsteigst.