Скорей всего Аяксом запросы делается. Тем же JS меняется URL.
Т.е. имитация постраничной навигации. А на самом деле всё на одной.
И активный элемент записывается в переменную.
Всё это приправляется анимацией вот как то так сайт готов
Таблицу в БД создайте в 3 столбца:
ID | img_name | img_description
и всё. Потом в PHP делаете запрос в БД, указываете путь к папке с фоток и дальше формируете вывод как душе угодно
sass - это препроцессор. Его надо чем то обрабатывать, чтобы из него выше css.
Если это phpstrom, то там можно настроить watcher - https://www.jetbrains.com/help/phpstorm/2016.3/tra...
И будет на лету собираться css
С анимацией пошаманить, а так : сверстать конечное состояние и потом паддингами или позицинирование раздвинуть как надо.
Ну и при экшене анимировать возврат в начальное состояние.
Если в каждом блоке будет контент, то переносить в первый блок, который в итоге будет общим.
Вложите в DIV еще один DIV , у дочернего поставьте position: absolute , и отпозиционируйте по низу.
Предварительно прописав ему display: none;
И потом div:hover div{display: block;}
... и будет вам всплывать при наведении
Надо, чтобы по клику вплывало - используйте JS