img
置于div
:我div
具有给定的宽度和高度,img
具有未知的宽度和高度div
:
<style>
div {
width: ...;
height: ...;
}
</style>
<div>
<img src="...">
</div>
将img
居中,同时保持其容纳状态很简单:
div {
display: flex;
align-items: center;
justify-content: center;
}
img {
max-width: 100%;
max-height: 100%;
}
以下是使用此方法将500x300 img
居中的几个示例:
div
:https://jsfiddle.net/thejonwithnoh/f9evLpx0/ div
:https://jsfiddle.net/thejonwithnoh/9dndr9r8/ img
置于a
div
内
我div
具有给定的宽度和高度,img
具有未知的宽度和高度,a
内的div
:
<style>
div {
width: ...;
height: ...;
}
</style>
<div>
<a href="...">
<img src="...">
</a>
</div>
一个非常接近的解决方案就是简单地为a
设置样式:
a {
width: 100%;
height: 100%;
display: flex;
align-items: center;
justify-content: center;
}
以下是使用此方法将500x300 img
居中的几个示例:
a
中的div
https://jsfiddle.net/thejonwithnoh/udo957d9/ a
中div
:https://jsfiddle.net/thejonwithnoh/k0nj571f/ 此处的问题是,img
之外但div
内的空间现在可以作为链接点击。
如何将img
(未知大小)置于div
(已知大小)中,但也将图片作为链接?
答案 0 :(得分:3)
在固定的宽度/高度image
容器中将<a></a>
(即使它被div
包裹)对中的一种简单方法是:
div {
width: 200px;
height: 150px;
line-height: 150px;
font-size: 0px;
background-color:red;
text-align: center;
}
img {
max-width:100%;
max-height:100%;
vertical-align: middle;
}
&#13;
<div>
<a href="#"><img src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAfQAAAEsCAMAAAACZbH6AAAAWlBMVEUAAAAAADMAAGYAAJkAAMwAAP8AKwAAKzMAK2YAK5kAK8wAK/8AVQAAVTMAVWYAVZkAVcwAVf8AgAAAgDMAgGYAgJkAgMwAgP8AqgAAqjMAqmYAqpkAqswAqv8nC+k5AAACr0lEQVR42u3VAQkAQAgEQYvYv6YlFIQbCyzcwH+VC7w+P41vDWNBNxZ0Y0EHAh0IdCDQgUDXgK4BXQO6BnQN6BrQNaBrQNeArgEdurGgGwu6saADgQ4EOhDoGtA1oGtA14CuAV0DugZ0Dega0DWgQzcWdGNBNxZ0INCBQAcCXQO6BnQN6BrQNaBrQNeArgFdA7oGdOjGgm4s6MaCDgQ6EOhAoAOBrgFdA7oGdA3oGtA1oGtA14CuAR26saAbC7qxoAOBDgQ6EOhAoGtA14CuAV0DugZ0Dega0DWga0DXMBZ0Y0E3FnQg0IFABwIdCHQN6BrQNaBr3KI75xLOs+hPNxZ0Y0EHAh0IdCDQgUDXgK4BXQO6BnQN6BrQNaBrQNeArgEdurGgGwu6saADgQ4EOhDoGtA1oGtA14CuAV0DugZ0Dega0DWgQzcWdGNBNxZ0INCBQAcCXQO6BnQN6BrQNaBrQNeArgFdA7oGdOjGgm4s6MaCDgQ6EOhAoAOBrgFdA7oGdA3oGtA1oGtA14CuAR26saAbC7qxoAOBDgQ6EOhAoGtA14CuAV0DugZ0Dega0DWga0CHbizoxoJuLOhAoAOBDgQ6EOga0DWga0DXgK6xi+6cSzjPoj/dWNCNBR0IdCDQgUAHAl0DugZ0Dega0DWga0DXgK4BXQO6BnToxoJuLOjGgg4EOhDoQKBrQNeArgFdA7oGdA3oGtA1oGtA14AO3VjQjQXdWNCBQAcCHQh0Dega0DWga0DXgK4BXQO6BnQN6BrQoRsLurGgGws6EOhAoAOBDgS6BnQN6BrQNaBrQNeArgFdA7oGdOjGgm4s6MaCDgQ6EOhAoAOBrgFdA7oGdA3oGtA1oGtA14CuAR26saAbC7qxoAOBDgQ6EOhAoGtA14CuAV0DusYuuou7AR87wv5XXaevAAAAAElFTkSuQmCC"/></a>
</div>
&#13;
设置div
s&#39; ...
- line-height
等于其height
与image
设置为vertical-align
的{{1}}相对应,垂直居中。
- center
到text-align
,水平居中图像。