【发布时间】:2018-01-11 04:02:22
【问题描述】:
我正在尝试找出一种方法,使图像 div 具有并保持 3:2 的纵横比和不同的网络浏览器尺寸(用于移动响应等)。我希望能够重新调整我的浏览器窗口和图像的大小,使其始终具有 3:2,因此我希望图像高度也能重新调整大小。
有没有办法用我当前的代码实现这一点?我还希望能够使蓝色文本 div 更小,而不必使上面的图像更大,因为如果我降低蓝色 div 的高度百分比,我将不得不增加上面的图片 div 来弥补100% 父元素的高度,但这会抛出图片 div 的纵横比。
我不确定如何实现这一点,因为它比我想象的更令人困惑。
感谢任何帮助,谢谢...
#bg {
width: 100%;
height: 300px;
background: yellow;
}
#window-container {
width: 30%;
height: 200px;
background: orange;
}
#img {
background: url('http://www.livescience.com/images/i/000/036/988/original/elephants.jpg');
height: 67%;
width: 100%;
background-size: cover;
background-position: center;
}
#text-wrap {
background: lightblue;
width: 100%;
height: 33%;
}
<div id="bg">
<div id='window-container'>
<div id='img'></div>
<div id='text-wrap'>text here</div>
</div>
</div>
【问题讨论】:
-
你很幸运。
%-padding和margin的值始终引用元素的width,即使应用于padding-bottom或padding-top。有了这些知识,您应该能够轻松找到确保纵横比保持不变的解决方案。 -
还是不确定。应用边距不会增加图像和蓝色 div 之间的差距,并且填充只会将文本向下推,但蓝色 div 会保持相同的大小?
-
其他宽度和高度值的灵活性如何?
-
只要保持纵横比并且蓝色 div 可以调整大小就可以了