Do you have any idea on how to get the placeholder attribute to vertically center in safari? Though when you start typing, the text is perfectly centred.
None of the other answers worked for me, maybe because my input element is inside a flex box.
I ended up needing to specify a line-height in px - with a large value for the line-height compared with the default for input elements.
input[type="text"] { line-height: 32px; }
Feels like a hack, but it's the only thing I could get to work.