Vertikales Zentrieren eines Divs mit unbekannter Höhe

8

Ok, ich weiß, dass es mehrmals gefragt wurde, aber ich habe keine Cross-Browser-Lösung gefunden und verstehe nicht, wie es geht. : - (

Ich habe diesen Code, um ein Video auf 100% Browserbreite zu skalieren:

%Vor%

und dieses css:

%Vor%

Es funktioniert, aber schneidet die überschüssige Höhe an der Unterseite ab, aber ich möchte, dass es zentriert ist, also wird überschüssige Höhe des Videos von der Hälfte oben und unten abgeschnitten.

Irgendwelche Ideen, die sicher sind und auch im IE7 funktionieren? Oder ist der einzige Weg, dies in js / jquery zu tun und Höhe / Breite aufgrund der Größe des Browserfensters neu zu berechnen, wie hier Ссылка ?

    
suri 22.01.2012, 20:27
quelle

4 Antworten

6

Leider gibt es dafür keine elegante, rückwärtskompatible Cross-Browser-Lösung ohne Skript.

Allerdings unterstützt CSS3 box-flex mit box-orient: horizontal; , was genau das ist, was Sie wollen. Browser-Unterstützung für CSS3 ist immer noch ein bisschen dünn vor Ort, wenn Sie also eine Lösung, die für alle arbeiten möchten, müssen Sie die Fenstergröße Ereignis und Layout mit Skript verwenden.

HTML 5 Rocks - flexbox

    
Sam Greenhalgh 22.01.2012, 21:03
quelle
5

Diese Antwort mag widerlich sein, aber ich habe festgestellt, dass die einfachere und browserübergreifende Möglichkeit, jedes Element in html / css vertikal zu zentrieren, die Verwendung von Tabellenelementen ist. Eine andere Möglichkeit ist die Verwendung von JS, um die Containerhöhe zu berechnen und dann zu positionieren.

    
Davsket 22.01.2012 20:53
quelle
4

Dieser Trick ist ziemlich gut: Ссылка

%Vor%     
Aximili 28.11.2013 08:42
quelle
1

Diese Methode bei CSS-Tricks funktioniert in allen Browsern und IE8 +, das ist am nächsten Sie werden zu einer Methode mit guter Browserunterstützung außerhalb von Tabellen gelangen.

Demo hier: Ссылка

    
Andres Ilich 22.01.2012 21:11
quelle

Tags und Links