Не обязательно все знать наизусть, важно знать, где посмотреть. Со временем все само собой запомнится.
На начальном этапе не нужно заморачиваться специфическими приемами (типа "делаем красивое выпадающее меню в стиле таком-то" - это можно посмотреть, когда припрет.
Нужно разобраться с основными принципами - в html с назначением элементов, их логической структурой;
в css - свойства можно условно разделить на две группы: отображение (display, position + разные способы позиционирования, отступы, поля, box-sizing и его влияние на отступы и поля), и оформление (цвет, фон и подобное). Вот первую группу - отображение, позиционирование, расчет размеров нужно очень хорошо понимать - без этого никуда. А оформление - достаточно знать, что оно есть и где посмотреть подробнее.
Вообще, пользоваться справочниками, шпаргалками - это нормально. Чтоб быстрее запомнилось, на начальном этапе не пользуйтесь автодополнением, подсказками в редакторе, печатайте ручками, они все сами запомнят.