宽度自适应,高度不设,宽高按照图片宽高显示
最近遇到一个情况,列表中有好多个图片,每行4个;而每个元素的宽为25%,图片宽高比为1:2;
还有自适应,如何在不适用js的情况下,让图片能始终按照正常 的宽高比显示呢?
之前使用过js,后来发现一个单纯用css就可以解决的方式,分享下!
<div class="a"></div>
<style media="screen">
.a{
width:30%;
padding-bottom:60%;
background: url("img.jpg") no-repeat;
background-size: 100% 100%;
}
</style>
原理:通过给元素加一个padding-bottom的值来实现,这个值是根据其父元素宽占比来说的。
假设宽是30%,如果padding-bottom也设置30%,那么盒子宽高比就是1:1。
假如我们图片大小宽高比为1:2,则在宽设置30%的情况下,padding-bottom设置为60%,
再设置背景图即可,这样内容显示的宽高比就是1:2的图片,大小自适应;