В ответах на этот вопрос вы не найдете универсального ответа о ресурсах. Но есть хороший ответ о методах.
Самый лучший метод обучения программированию - через практику. Нужно как можно быстрее начать писать код, будь то HTML как язык разметки или JavaScript как язык программирования. Начинайте с готовых кусков кода, смотрите, как они работают. Вы точно не будете понимать все, что напрограммировали, и как это работает. В этот момент и возникает настоящий интерес - разобраться в принципах работы кода. И stackoverflow.com наряду с toster.ru дадут вам первичное понимание и список источников для дальнейшего изучения.
Практика для затравки интереса. Потом погружение в теорию для удовлетворения интереса.
Для незамедлительной практики лучшим из бесплатных является ресурс codecademy.com. Там широкий выбор популярных языков программирования + HTML и CSS, и вы тут же начинаете с написания кода. Все происходит в одном окне браузера.
Когда у вас появляются свои идеи и гипотезы, быстро проверить их можно в так называемых песочницах: jsfiddle.net или jsbin.com для проверки HTML-CSS-JS примеров, es6fiddle.net для проверки самых свежих нововведений в JavaScript и, конечно же, codepen.io, где есть множество готовых примеров, реализацию которых можно изучить, поиграть с ними. Мне нравится jsbin.com.
И еще добавлю. Можно на гитхабе выложить свои сверстанные макеты, чтобы дать оценить знакомым и друзьям.
Почему-то никто не дал ссылку на самый лучший ресурс, на библиотеку (ну или книжный магазин).
Если говорить о программировании, то там можно найти чудесных авторов — Кнута, Кормена, Седжвика.
А дальше вам нужно будет просто изучать референсы по выбранной технологии.
Хочу добавить skillshare.com, там на любой вкус и цвет.
В других ответах вам дала кучу по-настоящему полезных ресурсов, и я рискну добавить ресурс, над переводом которого мы с товарищами трудились без малого год: http://codenamecrud.ru/
Ресурс подразумевает обучение с нуля до уровня fullstack junior, то есть младший веб-разработчик, умеющий в бэкенд и фронтенд.