实现前
可以看出字体与图片并未垂直居中
实现也很简单只需要在父元素中添加
display: flex;(让字体与图片水平排布,并且定义了为flex布局)
flex-flow: column;(让字体与图片垂直排布)
align-items: center;(让字体与图片居中排布)
即可实现
实现后
<div class="container2"><div class="container2-top"><h3>我的常用</h3><span>></span><span>展开全部</span></div><div class="container2-center"><div><img src="img/组 19@2x(3).png" alt=""><div>直播课程</div></div><div><img src="img/组 20@2x.png" alt=""><div>离线课程</div></div><div><img src="img/组 19@2x.png" alt=""><div>家长监管</div></div><div><img src="img/组 19@2x(1).png" alt=""><div>在线解题</div></div><div><img src="img/组 19@2x(2).png" alt=""><div>签到福利</div></div></div><div class="container2-bottom"><div><img src="img/5004283@2x.png" alt=""><div>直播教育·七年级英语</div></div><div><img src="img/m5037851@2x.png" alt=""><div>初中数学进阶套装集</div></div></div>
.container2 {position: absolute;width: 94.9333vw;height: 58.9333vw;background: #FFFFFF;border-radius: 2.6667vw;left: 3vw;top: 18vw;.container2-top {padding-top: 3.7333vw;h3 {display: inline-block;color: #333333;margin-left: 4.5333vw;}span {&:nth-child(2) {float: right;color: #808080;margin-right: 3.2vw;margin-top: -1vw;}}span {&:nth-child(3) {float: right;color: #808080;font-size: 3.7333vw;margin-right: 2vw;}}}.container2-center {display: flex;justify-content: space-around;div {display: flex;flex-flow: column;align-items: center;img {width: 9.0667vw;height: 9.0667vw;}div {margin-top: 2vw;color: #333333;font-size: 2.9333vw;}}}.container2-bottom {display: flex;justify-content: space-around;div {display: flex;flex-flow: column;align-items: center;img {width: 41.8667vw;height: 21.3333vw;border-radius: 1.3333vw;}div {margin-top: 1.6667vw;font-size: 3.4667vw;color: #333333;}}}}