Несколько причин, по которым vertical-align: text-top может не работать в некоторых ситуациях:
- Атрибут предназначен только для встроенных элементов. stackoverflow.com Он не повлияет на элементы уровня блока, такие как div. stackoverflow.com
- text-top перемещает текст только в начало текущего размера шрифта. stackoverflow.com Если нужно выровнять встроенный элемент по вертикали по верху, лучше использовать свойство vertical-align: top. stackoverflow.com qna.habr.com
- Если элемент является текстом, то vertical-align считается с учётом line-height. qna.habr.com Поэтому может создаваться эффект, что текст едет вниз. qna.habr.com
Также атрибут vertical-align, применяемый к элементу span, может отображаться не так, как задумано, в некоторых браузерах Mozilla. stackoverflow.com