【发布时间】:2016-03-14 21:04:44
【问题描述】:
我有一个响应式 DIV,它设置为浏览器宽度 (100%) 和高度 (50%) 的百分比。在该 DIV 中,我需要放置一个图像,它应该在调整浏览器大小时按比例缩放和适应。因此,图像的最大高度和最大宽度由 DIV 的高度和宽度给出。
当您更改浏览器的宽度(以及 DIV)时,图像会很好地适应,但当浏览器高度变得非常小时,图像会与下面的 DIV 重叠。
参见 JSFIDDLE 示例:https://jsfiddle.net/fnhropr3/
如何在 DIV 中垂直和水平地包含图像并保持其比例?
HTML:
<div class="section section-white">
<img src="https://www.cpp.edu/~international/study-abroad/img/jXMx4mQz6MsnhP1FSKp2TJMt.jpeg" id="image"/>
</div><!--section-->
<div class="section section-grey">
<h1>Heading</h1>
</div><!--section-->
CSS:
html{
width:100%;
height:100%;
}
body{
width:100%;
height:100%;
}
.section{
width:100%;
height:50%;
padding: 5%;
text-align:center;
}
.section-white{
background-color: #fff;
}
.section-grey{
background-color: #ccc;
}
#image{
width: 70%;
max-width: 500px;
height: auto;
max-height: 500px;
-moz-box-shadow: 0px 0px 15px #bbb;
-webkit-box-shadow: 0px 0px 15px #bbb;
box-shadow: 0px 0px 15px #bbb;
}
【问题讨论】:
-
你可以用
max-height: 100%;代替jsfiddle.net/fnhropr3/1 -
图片可以设置为背景图片吗?
-
使用 max-height:100% 不成比例地拉伸图像
-
是的,我已经尝试将它与背景大小包含一起使用,但由于我需要在图像周围应用一个盒子阴影,我想直接放置 img
标签: css