img图片宽度自适应做到正方形展示

1)前言

许多时候前端展示图片宽度可能是随着父级元素的宽度来定的,也就是width 100%,那么怎么高度怎么设计呢

例如


image.png

我们要做到这种布局,蓝色方块为li 考虑两个两个并排显示图片必须正方形展示 考虑到屏幕的大小问题,li就不能是固定宽度了

<body>
  <ul>
    <li>
        <div class="img-wapper">
          <img src="****" />
        </div>
        <div class="text>详细说明</div>
    </li>
    <li>
        <div class="img-wapper">
          <img src="****" />
        </div>
        <div class="text>详细说明</div>
    </li><li>
        <div class="img-wapper">
          <img src="****" />
        </div>
        <div class="text>详细说明</div>
    </li><li>
        <div class="img-wapper">
          <img src="****" />
        </div>
        <div class="text>详细说明</div>
    </li>
...
  </ul>
</body>
//css代码
ul{
  display : flex;
  flex-wrap: wrap;
}
li{
  width: 50%;
  overflow: hidden;
}
.img-wapper{
 position: relative;
  padding-top: 100%; //重要的就是这个padding-top: 100%
}
img{
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: auto;
}

重点是img的容器需要定位并且padding-top: 100%;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 13,868评论 1 92
  • 使用纯 CSS 实现 500px 照片列表布局 文章很长,因为介绍了如何一步一步进化到最后接近完美的效果的,不想读...
    HZ充电大喵阅读 2,700评论 0 4
  • CSS 是什么 css(Cascading Style Sheets),层叠样式表,选择器{属性:值;属性:值}h...
    崔敏嫣阅读 1,523评论 0 5
  • CSS参考手册 一、初识CSS3 1.1 CSS是什么 CSS3在CSS2.1的基础上增加了很多强大的新功能。目前...
    没汁帅阅读 3,960评论 1 13
  • 学会使用CSS选择器熟记CSS样式和外观属性熟练掌握CSS各种选择器熟练掌握CSS各种选择器熟练掌握CSS三种显示...
    七彩小鹿阅读 6,369评论 2 66