Jeśli znasz już postawy html/css to proponuję spróbować po prostu zrobić jakąś bardziej rozbudowaną stronę z paroma podstronami, jakieś animacje ciekawe napisane własnoręcznie np. @keyframes, pobawić się RWD itp. Do tego polecam np. flexa:
https://css-tricks.com/snippets/css/a-guide-to-flexbox/
Wymyśl sobie jakąś apkę i poszukaj w necie ciekawych layoutów. Potem po prostu gdy trafisz na problem szukaj info w necie, na SO, tym forum itp. i małymi kroczkami buduj aplikację.
Ponad to jako front musisz znać JS, tu mogę podać np.
http://kursjs.pl/
Próbuj też szukać informacji w dokumentacjach itp. Poczytaj też np. o webpack, babel, sass.
Nie znam dobrej książki o html/css ale nie wiem czy taka faktycznie jest Ci potrzebna. Wg mnie najwięcej nauczysz się tworząc właśnie jakąś bardziej rozwiniętą apkę od podstaw.