在前端布局过程中,因为图片会从数据库获取,宽高不一致,只有强制设置宽高值,但是容易导致图片变形。
接下来用css来解决上述问题,不过此方法不兼容ie
效果图展示:下图始终在div显示居中,不受div的大小影响
代码展示:
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
<style>
body{
margin:0px auto;
background: #da7063;
}
.box {
width:300px;
height: 120px;
max-width: 100%;
overflow: hidden;
position: relative;
background: #5cb589;
margin: 20px auto;;
}
.box img {
position: absolute;
top: 50%;
left: 50%;
margin-left: 0;
transform: translate(-50%, -50%);
width: 200px;
height: auto;
}
.box2{ height: 300px; background: #59c8e3}
</style>
</head>
<body>
<div class="box"><img src="logo.jpg"></div>
<div class="box box2"><img src="logo.jpg"></div>
</body>
</html>
以上方法较为复杂,不易理解
2019.1.29更新:https://blog.csdn.net/weixin_38330185/article/details/86591242 点击查看了解flex如何将img、p、span等居中