2014-07-26 22 views
9

Ich versuche derzeit, ein Bild in einem Div zu zentrieren, dessen Abmessungen mit vh festgelegt sind. Ich versuchte mit der display:table-cell; Methode, die das Bild zentrierte, aber begann mit dem vw der anderen Elemente zu verwirren. Ich habe mich gefragt, ob es eine andere einfachere Möglichkeit gibt, dieses Bild in einem div als vh vertikal zu zentrieren. Ich weiß, das könnte ein wenig verwirrend sein, also hoffentlich kann mein Code unten helfen!Vertikal zentriert in einem Div mit VH

Html:

<div class="graphic" style="background-color:#ff837b"> 
    <img src="images/WAInduo-02.svg" style="width: 100%; height: 50%;" /> 
</div> 

CSS:

#induoIntro .graphic { 
    display:block; 
    height:100vh; 
} 
+0

@Sid leider kann ich diese Methode nicht klagen, wie Sie eine bestimmte Höhe benötigen, die ich mit vh nicht tun kann – kduan

+0

ein erstellen jsfiddle. Gib uns genau das, was du bisher versucht hast. Und wenn du sagst, mit deinen anderen Elementen zu spielen, was sind diese anderen Elemente, mit derselben Klasse? –

Antwort

6

Es scheint, dass vertical-align:middle gewisse Inkonsistenz mit vw Einheit hat. Versuchen Sie den Positionierungsansatz. Hier ist die Lösung für Sie.

CSS-Code:

.graphic { 
display:block; 
height:100vh; 
position: absolute; 
top:0; 
bottom:0; 
width: 100%; 
} 

.graphic img{ 
vertical-align: middle; 
width:100%; 
    display: inline-block; 
    height:50%; 
    position: absolute; 
    top: 0; 
    bottom:0%; 
    margin: auto; 
} 

Hier ist der Arbeits fiddle

+0

Während das Bild richtig zentriert wird, wird der darunter liegende Inhalt ausgeblendet. Irgendwelche Vorschläge? Danke für deine Hilfe bis jetzt! – kduan

+0

Können Sie die Geige mit Ihrem Code aktualisieren, kann ich Ihnen helfen, es zu lösen –

+0

Nvm Ich fand es heraus! Nur musste Position entfernen: absolut; oben: 0; unten: 0; Breite: 100%; von .grpahic. Vielen Dank! Kannst du erklären, wie diese Arbeit ein wenig ist? – kduan