本文摘自PHP中文网,作者烟雨青岚,侵删。

你一定不知道div里的图片是如何水平垂直居中的,这里小编提供了五种居中的方法,大家一起来看看吧。
body结构
1 2 3 4 5 | <body>
<p>
<img src= "1.jpg" alt= "haha" >
</p>
</body>
|
方法一:
将display设置成table-cell,然后水平居中设置text-align为center,垂直居中设置vertical-align为middle。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <style type= "text/css" >
*{margin: 0;padding: 0;}
p{
width:150px;
height: 100px;
display: table-cell;
vertical-align: middle;
text-align: center;
border:1px solid #000;
}
img {
width: 50px;
height: 50px;
}
</style>
|
结果如下图所示:

方法二:
通过position定位来实现。将p设置成相对定位relative,将img设置成绝对定位absolute,left:50%,top:50%,此时图片的左上角位于p的中心,要是图片的中心位于p的中心,就需要将图片向上移动图片高度的一半,并向左移动图片宽度的一半。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <style type= "text/css" >
*{margin: 0;padding:0;}
p{
width:150px;
height: 100px;
position: relative;
border:1px solid #000;
}
img {
width: 50px;
height: 50px;
position: absolute;
top: 50%;
left: 50%;
margin-top: -25px;
margin-left: -25px;
}
</style>
|
结果如下图所示:

方法三:可以用在不清楚图片图片或元素的真实宽高情况下
还是通过position定位来实现。将p设置成相对定位relative,将img设置成绝对定位absolute,left:50%,top:50%,此时图片的左上角位于p的中心,要是图片的中心位于p的中心,就需要将图片向上移动图片高度的一半,并向左移动图片宽度的一半,如果不知道元素的宽高,可以用transform: translate(-50%,-50%);
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | <style type= "text/css" >
*{margin: 0;padding:0;}
p{
width:150px;
height: 100px;
position: relative;
border:1px solid #000;
}
img {
width: 50px;
height: 50px;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
}
</style>
|
方法四:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | <style type= "text/css" >
*{margin: 0;padding:0;}
p{
width:150px;
height: 100px;
position: relative;
border:1px solid #000;
}
img {
width: 50px;
height: 50px;
position: absolute;
top: 0;
left: 0;
right: 0;
bottom: 0;
margin: auto;
}
</style>
|
方法五:弹性布局flex
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | <style type= "text/css" >
*{margin: 0;padding:0;}
p{
width:150px;
height: 100px;
border:1px solid #000;
display: flex;
justify-content: center;
align-items: center;
}
img {
width: 50px;
height: 50px;
}
</style>
|
效果都一样,希望能帮到大家!
本文转自:https://blog.csdn.net/DreamFJ/article/details/68921957
推荐教程:《HTML教程》
以上就是你一定不知道div里的图片是如何水平垂直居中的的详细内容,更多文章请关注木庄网络博客!
相关阅读 >>
react中如何引入图片
div是什么标签
javascript怎么实现按钮隐藏div
html如何设置图片的位置
html怎么设置div边距
js实现图片预加载
css怎么实现图片半透明效果
借助todataurl实现将html5 canvas的内容保存为图片
div是什么意思
css div不随滚动条移动的实现方法
更多相关阅读请进入《div》频道 >>
人民邮电出版社
本书对 Vue.js 3 技术细节的分析非常可靠,对于需要深入理解 Vue.js 3 的用户会有很大的帮助。——尤雨溪,Vue.js作者
转载请注明出处:木庄网络博客 » 你一定不知道div里的图片是如何水平垂直居中的