Измените div
на контейнер гибкого диска:
div {display:flex;}
Теперь есть два способа центрирования выравниваний для всего содержимого:
Способ 1:
div {align-items:center;}
Способ 2:
div * {margin-top:auto; margin-bottom:auto;}
Попробуйте использовать разные значения ширины и высоты в img
и разных значениях размера шрифта на span
, и вы увидите, что они всегда остаются в середине контейнера.