是否可以使
的宽度成为窗口宽度的百分比,并且其高度是当前宽度的某个百分比?因此,当您调整浏览器窗口大小时,
会重新调整大小,但保持相同的长宽比。
谢谢
Ciao
有一种名为“padding技巧”的方法,已经得到回答,但我使用另一种方法,涉及两个嵌套的div。
父级div中,我设置了宽度。子级div中,我将高度值作为容器单位vw - (表示视口宽度)。
它很好用,可以点击这里查看(调整视口大小)
<div>
<div></div>
</div>
CSS:
div {
width: 100%;
}
div > div {
background: silver;
height: 10vw;
}
width
为100%
时,它才会生效。因为vw
相对于容器视口而言...在这种情况下,是窗口。 - LcSalazar我使用这个
.aspect-ratio {
max-width: 100%;
}
.aspect-ratio:before {
content: '';
display: block;
width: 100%;
padding-bottom: ({height-aspect} / {width-aspect} * 100)%; // for 3 x 4, for instance: 75%
}
如果你像我一样喜欢简单,可以使用mixin:
.aspectRatio(@widthAspect, @heightAspect) {
@aspect: @heightAspect/@widthAspect * 100;
max-width: 100%;
&:before {
content: '';
display: block;
width: 100%;
padding-bottom: ~"@{aspect}%";
}
}
如果你将一个元素的上下填充设置为百分比,它将相对于该元素的宽度进行计算。
height
中使用百分比时,它是相对于生成的盒子所在块的高度计算的。padding-top
。#wrapper {
padding-top: 25%; /* ratio */
border: 1px solid;
position: relative;
}
#content {
position: absolute;
top: 0;
right: 0;
bottom: 0;
left: 0;
}
<div id="wrapper">
<div id="content">
<p>Foo</p>
<p>Bar</p>
<p>Baz</p>
</div>
</div>