这会有所帮助
flex-box 解
div {
height: 300px;
width: 300px;
border: 1px solid;
display: flex;
justify-content: center;
align-items: center;
}
img {
max-height: 100%;
max-width: 100%;
}Run Code Online (Sandbox Code Playgroud)
<div><span><img src="https://placeholdit.imgix.net/~text?txtsize=28&txt=150%C3%97300&w=150&h=300"></span></div>
<div><span><img src="https://placeholdit.imgix.net/~text?txtsize=28&txt=550%C3%97200&w=550&h=200"></span></div>Run Code Online (Sandbox Code Playgroud)
display:inline-block 解
div {
height: 300px;
width: 300px;
border: 1px solid;
text-align: center;
}
div:before {
content: '';
display: inline-block;
height: 100%;
vertical-align: middle;
}
img {
max-height: 100%;
max-width: 100%;
vertical-align: middle;
}Run Code Online (Sandbox Code Playgroud)
<div><span><img src="https://placeholdit.imgix.net/~text?txtsize=28&txt=150%C3%97300&w=150&h=300"></span></div>
<div><span><img src="https://placeholdit.imgix.net/~text?txtsize=28&txt=550%C3%97200&w=550&h=200"></span></div>Run Code Online (Sandbox Code Playgroud)