Hmm j'ai un petit truc 'maison', mais qui ne fonctionnera pas partout (dépend de la résolution emplyée):
Sur base, le centrage vertical en css n'a pas de sens (étant donné qu'on fait défiler une page verticalement), mais à supposer que tu veuilles afficher un logo centré, et sur une page qui ne scroll pas, tu peux le faire via une hauteur spécifiée en %.
-> les valeurs en % en css sont calculées sur base de la largeur, donc si tu spécifies une hauteur ou une marge en %, elle le sera aussi.
Exemple:
Supposons que ton conteneur principal soit le body (largeur par défaut : 100%)
Tu crée un conteneur X centré horizontalement (margin: 0 auto).
Maintenant le truc c'est de savoir quelle marge supérieure appliquer pour que ton conteneur X soit centré verticalement.
On va supposer que l'utilisateur dispose d'une résolution de type 4/3, il te suffit de calculer à quelle distance du haut de la page se trouve ton conteneur X (compte tenu de sa hauteur), et de voir combien de % de la largeur ça fait.
Bon comme je disais, le centrage ne sera pas optimal selon que la résolution employée ne soit pas une 4/3.