Разница между vertical-align и position: absolute при центрировании элементов заключается в том, что каждый из этих методов решает разные задачи:
- vertical-align центрирует инлайновые элементы (display:inline/inline-block), включая картинки, в окружающем их тексте. 2 Этот способ удобен тем, что не требует знания высоты элементов. 2
- position: absolute позволяет центрировать элементы блочного уровня, для этого нужно знать высоту центрируемого элемента. 3 Этот метод работает во всех браузерах, но есть риск, что содержимое может вырасти из контейнера и визуально исчезнуть. 3
Таким образом, vertical-align подходит для центрирования неблочных элементов, а position: absolute — для элементов блочного уровня, когда известны их высота и ширина. 23