即使图像/视频大小发生变化,如何保持播放按钮居中?
.image{
position:relative;
width:500px; //changed
height:300px;
}
这是我的例子...
注意:我的图片/视频没有具体尺寸,所以可以根据自己的尺寸改变......这只是一个例子!
我设置了三个示例来展示如何解决这个问题。
请看小提琴:http: //jsfiddle.net/audetwebdesign/mxSkQ/
HTML本质上是你的:
<div class ="image ex1">
<a href="#">
<img src="http://placehold.it/200x150" alt="video">
<span class="play">
<span></span>
</span>
</a>
</div>
我正在使用具有可配置尺寸的演示图像,例如 200x150,可以轻松更改以进行测试。
示例 1 - 图像大小决定父容器的大小
.ex1.image {
position: relative;
display: inline-block;
margin-left: 50px;
}
.image a {
display: inline-block;
position: relative;
}
/* Gets rid of the extra white space that follows an inline element*/
.image img {
vertical-align: bottom;
}
如果您希望.image
div 缩小以适合图像,请使用inline-block
to display。这margin-left
是可选的,将取决于布局的其余部分。
重要提示:要将播放按钮主题居中,只需将a
标签设置为显示为inline-block
,您的箭头主题跨度就会很好地定位自己。
因为img
是一个内联元素,浏览器会在它之后插入一个小空格,如果你有边框或背景,它就会显示出来。用来vertical-align: bottom
清理它。
示例 2 - 父容器具有指定的宽度
您可以为父容器指定宽度,.image
然后用于text-align
定位图像元素。
.ex2.image {
position: relative;
display: inline-block;
width: 400px;
height: auto;
text-align: center;
}
示例 3 - 父容器具有完整宽度和指定高度
在这个例子中,我让父容器填满了窗口的宽度,并将高度设置为 200px。为了获得垂直居中,我设置margin-top
了一个硬编码值,该值取决于图像的高度。如果您让图像采用固定高度,则此示例很有用。
.ex3.image {
position: relative;
display: block;
width: auto;
height: 200px;
text-align: center;
}
.ex3.image a {
margin-top: 25px;
}
你需要
top: 50%;
left: 50%;
margin: -25px 0 0 -25px; // top and left equal to half of the size * (-1)
尝试使用图像大小/不同的图像。
给图像CSS:
display: block;
margin: 0 auto;
这只是你把东西放在中间的一般方式。
除非我错过了什么?