Создать определенный по размеру блок
Определить отступы, границы, заполнение (padding)
При помощи Js изменять параметры "отступов" и визуальную составляющую при наведение/ увода курсора с элемента (блока)
Диаграмма класса
По Wiki yfhbcjdfkb usecase