2013-03-13 95 views
13

我试图让图像看起来有一个居中的播放按钮。但我不会知道主图像的确切大小,因为它是动态生成的。中心图像垂直/水平在另一个无尺寸

现在,叠加图像(播放按钮)位于左上角。我怎样才能让播放按钮显示水平和垂直居中?

谢谢。

<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; 
} 

回答

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

如果您的网站响应,从而使图像的大小是动态的,您可以添加例如“背景尺寸:35%;”使播放按钮的大小相对于图像的大小。 – Chris 2013-06-03 08:06:22

+1

@up请记住背景大小必须在背景后出现。 另外,上面的代码只能垂直居中播放按钮。为了使它居中水平,我必须在问题中添加“display:inline-block”给.videobox规则。检查https://jsfiddle.net/t0u1j2th/1/。 – user1 2016-04-24 10:47:20