2013-12-08 35 views
0

我想让高度取决于浏览器的宽度。目前,我正在使用新的视口宽度单位使其在所有屏幕上保持一致。我更喜欢百分比,虽然它有更大的浏览器支持。有没有办法以百分比来完成这项工作?如何获得与vw中的高度相同的结果但百分比?

例如,如果我使用高度:30%并更改浏览器的高度,高度也会发生变化,这实际上并不是我想要的。我只是希望它在宽度改变时改变。我知道填充,但它是否是一种解决问题的好方法?似乎浏览器之间不一致。

我想听听你们的一些反馈。

回答

1

填充确实是做到这一点的最佳方式 - 并且浏览器支持完全一致(与视口宽度单位不同)。

.wrapper { 
    height: 0; 
    padding-bottom: 100%; 
    position: relative; 
    width: 100%; 
} 

.container { 
    height: 100%; 
    left: 0; 
    position: absolute; 
    top: 0; 
    width: 100%; 
} 

随着以下标记:

<div class="wrapper"> 
    <div class="container"> 
    </div> 
</div> 

这将产生一个方形容器,其高度可用的宽度相匹配。

+0

你认为我可以实现类似的绝对元素和他们的位置值的顶部和底部? –

+1

问题在于'height','top'和'bottom'都是相对于最近父亲的高度来计算的 - 填充是相对于实际元素宽度而言的唯一属性:奇怪,不方便,笨拙 - 但很伤心真正! – Barney

+0

谢谢你的回答。它确实帮助我做出决定。 –

相关问题