Не уверен, сколько потратил) Не буду рассказывать о процессе обучения и прочем, а то ответ разнесет на несколько экранов. Лучше перейдем к сути.
Вы как учитесь?
На мой взгляд, программирование и верстка это 90% практики. Нужно писать код.
Самый оптимальный вариант обучению новому. В вашем случае верстке html&css
- Ознакомиться с технологией.
- В зависимости от уровня - взять макет в инете или поставить задачу, например: сверстать главу из любимой книги, или сделать реплику кусочка сайта, который вам нравится. И верстать.
- Получать кайф от магии) «Повелеваю тебе, браузер, сделай этот текст красным, а эту картинку подвинь влево!». Когда не знаете конкретное заклинание, чтобы заставить браузер сделать то, что вам нужно - идти в гугл, искать инфу.
- Когда магии и заклинаний станет уже мало, и вы захотите узнать, как все это дело устроено и почему, идите читать спецификации и серьезные статьи.
Суть в том, чтобы не учиться теории, а решать прикладные задачи.
Когда мы читаем теорию без должного подкрепления практикой, мы лишь абстрактно представляем значимость тех знаний, которые добываем. «Ну да, круто, можно написать медиа-запрос под нужныый экран и перестроить сетку, ну да, бывают элементы блочные, блочно-строчные и вообще очень разные. Круто, это мне обязательно где-нибудь пригодится, эх зевнуть что-то хочется...»
А когда мы щупаем руками перестройку сетки, поведение конкретных элементов, думаем о том, как расположить элементы в нужном порядке, сталкиваемся со сложностями и багами, мы понимаем для чего нужны конкретные команды, и как что работает.
Когда начинаем писать полноценные страницы и сайты, сталкиваемся со сложностью, понимаем про вложенность, узнаем что-то про методологии и хорошие практики. И не просто потому, что так надо, а потому что на своем опыте поняли: это полезно и эстетически красиво.
Забегая вперед, большинство концепций без практики вообще не понять. Можно зазубрить и даже немного внедрить в работу. Ну это будет необходимость ради необходимости, а та польза, которую конкретная концепция привносит в процесс разработки останется вне зоны осознавания.