Ich suche ein <div>
im Ansichtsfenster (Browserfenster) vertikal zu zentrieren, ohne auf Javascript zurückzugreifen (reines HTML und nur CSS). Ich habe mehrere Einschränkungen:
div
muss vertikal im Ansichtsfenster zentriert sein. Methoden, die ich gesehen habe, unterstützen nur das Zentrieren in einem anderen <div>
, was ich nicht will. div
ist nicht bekannt. Andere Einschränkungen:
div
muss nach rechts ausgerichtet sein. div
hat eine konstante Breite. div
muss padding unterstützen. div
fungiert als Menü. Das kommt mir nahe, was ich will, aber nicht genau:
%Vor%Allerdings befindet sich der Anfang des Navigationsbereichs in der Mitte, nicht der mittlere des Navigationsbereichs.
Gibt es eine Technik, die es mir erlaubt, meine div
mit diesen Einschränkungen zu zentrieren?
Was ist das? Wenn man 8 Jahre nimmt, um die Antwort auf ein Problem zu bekommen, ist das zu viel?
Nun, besser spät als nie!
Sie haben wirklich in der Nähe der Lösung. Ich würde es mit transform: translate()
machen:
Nach Kann ich verwenden? , es wird von allem außer IE8- und Opera Mini unterstützt (was zu sein) Ehrlich gesagt, ist eine ziemlich gute Unterstützung).
Ich würde dir empfehlen, es ein wenig zu übertreiben und einfach alle Hersteller-Präfixe hinzuzufügen (nur um sicher zu gehen!):
%Vor%Hier ist ein Ausschnitt, um es Ihnen in Aktion zu zeigen:
Hoffentlich ist es immer noch relevant für Sie! (Ich mache Witze, es war 8 Jahre )
Der einfachste Weg besteht darin, kein div
zu verwenden - verwenden Sie ein table
mit einer Zeile und einer Zelle. Die vertikale Ausrichtung wird in CSS leider nicht unterstützt und Sie werden feststellen, dass Sie die Wand und die Decke kodieren, um dies zu erreichen.
Ich verstehe das semantische Argument gegen das, was ich gerade vorgeschlagen habe - ich bin in den meisten Fällen ein Befürworter des semantischen Markups. Ich glaube aber auch daran, das richtige Werkzeug für den richtigen Job zu verwenden. Ich glaube, es ist am besten, in diesem Fall ein wenig Reinheit für eine einfache Lösung zu opfern, die funktionieren wird.
Tags und Links css