保持宽高比的宽度自适应盒子

Posted 等风来

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了保持宽高比的宽度自适应盒子相关的知识,希望对你有一定的参考价值。

基本原理

元素的padding的百分比值是基于其父元素的宽度计算的,如此,设置元素宽度width:25%,元素高度不设定,元素padding-bottom:75%,就可以得到一个高宽比为3:1的盒子。或者,元素的宽高都不设定,设置元素的padding-right: 25%,padding-bottom:75%,也可以得到一个高宽比为3:1的盒子。

使用场景

通常用在图片宽度自适应,并且需要保持高宽比的地方,例如商品列表页面。示例代码如下:

<div class="imgc">
    <img src="...">
 </div>
.imgc {
  width: 100%;
  position: relative;
  padding-top: 75%;
   > img {
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;  
  }
}

或者

.imgc {
    padding: 0 50% 66.66% 0;
}

 

以上是关于保持宽高比的宽度自适应盒子的主要内容,如果未能解决你的问题,请参考以下文章

巧用padding让图片宽高比固定并自适应布局

在自定义UITableViewCell中保持UIImageView的宽高比

屏幕适配/自适应的一些思路

UI开发核心问题-UI随屏幕自适应

CSS 背景图宽度100% 高度自适应

Grid形式的RecyclerView屏幕宽度自适应