我正在开展一个项目并陷入困境。我有一个16:9比例的背景图像。
body {
margin: 0px;
padding: 0px;
background-image: url("background.jpg");
background-size: 100%;
position: absolute;
background-repeat: no-repeat;
}
//for example:
.inventory {
background-color: rgba(30, 30, 30, 0.5);
top: 28%;
left: 18%;
font-size: 30px;
text-align: center;
color: white;
width: 19%;
height: 55.6%;
overflow: auto;
position:fixed
}
我现在想要的是,当我减小窗户的大小时,一切都停留在它的位置并且具有相对的高度和宽度。我现在面临的问题是,我用百分比定位的所有东西都与窗口的大小有关。但我想让一切都与图像的大小有关。 希望你能帮助我!
答案 0 :(得分:1)
如果您需要锁定宽高比,padding
允许这样做,因为它总是相对于元素的宽度。在此示例中,您需要将background-image
设置为替换background: green;
,并将所有内容放在container-inner
div
.container {
width: 100%;
padding-bottom: 56.25%;
height: 0;
font-size: 0;
position: relative;
}
.container-inner {
font-size: 1rem;
position: absolute;
top: 0;
left: 0;
width: 100%;
height: 100%;
background: green;
}

<div class="container">
<div class="container-inner">
</div>
</div>
&#13;
答案 1 :(得分:0)
要使用background-image
,您需要设置该元素的height
。如果您调整窗口大小,width
将根据窗口更改,但height
将会修复,导致背景图片大小会增加,在这种情况下,您无法控制top
,{{1 }},left
和right
位置值......
因此,您需要在此处使用bottom
而不是img
...并使用background-image
将项目放在position:absolute
值不是{{}的图片上1}} ...记得将%
设置为其父容器
px
position:relative
尝试在此处修改 Fiddle