2013-03-13 13 views
13

Ich versuche, ein Bild erscheinen zu lassen, um eine Play-Taste zu haben, die zentriert ist. Ich kenne die genaue Größe des Hauptbildes jedoch nicht, da es dynamisch generiert wird.Center Bild vertikal/horizontal über einem anderen ohne Abmessungen

Derzeit befindet sich das Overlay-Bild (eine Wiedergabetaste) in der oberen linken Ecke. Wie kann ich die Wiedergabetaste horizontal und vertikal zentriert anzeigen lassen?

Vielen Dank.

<div class="videobox"> 
<img src="/mainimage.png"> 
<span></span> 
</div> 

.videobox { position: relative; } 

.videobox span { 
position:absolute; 
left: 0px; 
bottom: 0px; 
width: 100%; 
height: 100%; 
z-index: 1; 
background: transparent url(../img/elements/playbutton.png) no-repeat; 
} 

Antwort

39
.videobox span { 
    display: block; 
    position: absolute; 
    top: 0; 
    left: 0; 
    bottom: 0; 
    right: 0; 
    z-index: 1; 
    background: url(../img/elements/playbutton.png) no-repeat center center; 
} 
+9

Wenn Ihre Website reagiert, so dass die Bildgröße dynamisch ist, können Sie zum Beispiel hinzufügen können "background-size: 35%;" um die Größe des Play-Buttons relativ zur Größe des Bildes zu bestimmen. – Chris

+1

@up Denken Sie daran, dass die Hintergrundgröße NACH dem Hintergrund erscheinen muss. Der obige Code zentrierte den Wiedergabeknopf auch nur vertikal. Um es horizontal zu zentrieren, musste ich "display: inline-block" zur .videobox-Regel aus der Frage hinzufügen. Überprüfen Sie https://jsfiddle.net/t0u1j2th/1/. – user1