Hallo,
beim horizontalen und vertikalen Zentrieren bzw. Ausrichten von Elementen habe ich z. B. hier mit folgendem CSS gute Erfahrungen gemacht:
#xyz {
width:10em; /* Größe des Elements */
position:absolute;
left:50vw; top:50vh; /* Position der Mitte des Elements */
transform: translate(-50%,-50%); /* Element um seine halbe Größe verschieben */
}
Wenn das umgebende Element nicht static
positioniert ist, bezieht sich die Ausrichtung auf dieses Element.
Gruß
Jürgen