在响应式设计中控制元素的宽高比

在了解控制宽高比之前,首先要知道垂直方向的padding取百分比值是基于最近的块级祖先元素的宽度计算的。关于为什么这么计算可以去看知乎的这个提问:[CSS中margin-top/bottom(padding-top/bottom)百分比为何以最近的块级祖先元素的宽度而不是高度作计算?][1]

一、固定宽高比

<div class="column">
  <figure class="figure"></figure>
</div>
.column{
  max-width: 800px;
}
.figure{
  padding-top: 图片高度/图片宽度*100%
}

二、流动宽高比

流动宽高比就是固定宽高比的扩展,同样使用padding-top,只是计算方法是 图片高度变化/图片宽度变化*100%

三、背景图片的自动缩放 可以使用background-size:cover,cover 属性指定背景图可以被调整到任意大小,以使背景图完全覆盖背景区域。 [1]: https://www.zhihu.com/question/20983035