用绝对定位实现垂直居中
<div class="posdiv">
<img src="1.jpg" alt="">
</div>
body{background: #ccc;}
.posdiv{ 300px;height: 250px;background: #fff;position: relative; margin:0 auto}
.posdiv img{ 100px;position: absolute;top: 50%;margin-top: -50px;}
- 一张包裹在div中的img图片,我们给不光给图片以及div元素定义了尺寸,还给div元素定义了#fff的背景色(背景颜色可以根据需求设置)。
- 给img的父元素添加相对定位属性(position: relative),同时,要给子元素也就是图片img元素添加绝对定位属性(position: absolute)。
- 将图片元素的top属性设置为50%。
- 现在我们需要给img元素设置一个负的margin-top值,这个值为你想要实现垂直居中的元素高度的一半。
- 如果不确定元素的高度,可以不使用margin-top,而是使用transform:translateY(-50%);属性。