Ну, ищите в своем браузере инспектор элементов ( в chrome f11 клавиша, или правой кнопкой -> проверить элемент) и смотрите как реализовано... ну вот, например как здесь :
admiral-theme.tumblr.com
Вот все, что вы перечислили в тегах вопроса, плюс любое серверное приложение ( например на PHP + Mysql), это самый манимальный вариант. По желанию можно прикрутить еще много всяких технологий, вопрос в количестве часов выделенных на это и навыки.