First of all, vertical-align applies only to string elements or table cells: description vertical-align
Applies : To string elements or table cells
However, if you specify a lowercase version of the display to the internal block, applying vertical-align will not do anything to it, since the lowercase blocks are aligned vertically with respect to the neighboring blocks, and in your case there is only one block.
It is also not very reasonable to make an external block a table only for alignment, for semantically it will be wrong.
You can use the line-height , the value of which will be equal to the height of the external block. But if the height is unknown, then this method is also not universal.
You can choose the most suitable vertical alignment method by the link: All vertical alignment methods in CSS