前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >写一个自适应九宫格图片栏

写一个自适应九宫格图片栏

作者头像
玖柒的小窝
修改2021-10-09 14:20:43
5210
修改2021-10-09 14:20:43
举报
文章被收录于专栏:各类技术文章~各类技术文章~

小刘同学负责企微内嵌 H5 开发,按照这个项目一贯的做法 UI 只出了移动端设计稿。今天的页面有个附件展示组件,不点击的时候大概就像微博图片那样直接九宫格展示。(点击再依据不同附件类型走各自的逻辑暂且不表)简单,对吧?小刘吭哧吭哧搞得差不多了,然后叫产品去开发环境瞅一眼。只见产品在 PC 企微客户端打开页面,横着一拉,小刘的组件就横向散开来了。一问小刘,原来长宽都是写的固定多少 rem。项目本身之前一直丢在企微移动端里展示,也就一直没考虑sizechange的情况。。。小刘改了好一会还没改好。

于是写个demo给他。

CSS:

代码语言:javascript
复制
    html,
    body {
      padding: 0;
      margin: 0;
    }
    .img-list-wrap {
      display: flex;
      flex-wrap: wrap;
      margin: 0 auto;
    }
    .img-item-wrap {
      box-sizing: border-box;
      width: 33.33%;
      margin-bottom: 10px;
      padding-left: 5px;
      padding-right: 5px;
    }
    .img-item {
      box-sizing: border-box;
      width: 100%;
      height: 0;
      padding-bottom: 100%;
      position: relative;
      overflow: hidden;
    }
    img {
      width: 100%;
      height: 100%;
      position: absolute;
      display: inline-block;
      object-fit: cover;
    }
复制代码

HTML:

代码语言:javascript
复制
  <div class="img-list-wrap">
      <div class="img-item-wrap">
        <div class="img-item">
          <img
            src="https://wx3.sinaimg.cn/mw2000/006zCGJCly1gu3htqntrcj31400migor.jpg"
            alt=""
          />
        </div>
      </div>
      <div class="img-item-wrap">
        <div class="img-item">
          <img
            src="https://wx3.sinaimg.cn/mw2000/006zCGJCly1gu3htqntrcj31400migor.jpg"
            alt=""
          />
        </div>
      </div>
      <div class="img-item-wrap">
        <div class="img-item">
          <img
            src="https://wx3.sinaimg.cn/mw2000/006zCGJCly1gu3htqntrcj31400migor.jpg"
            alt=""
          />
        </div>
      </div>
      <div class="img-item-wrap">
        <div class="img-item">
          <img
            src="https://wx3.sinaimg.cn/mw2000/006zCGJCly1gu3htqntrcj31400migor.jpg"
            alt=""
          />
        </div>
      </div>
    </div>
复制代码

涉及到两个知识点:

  • padding 百分比是相对于容器内容区域的宽度。故可依此画自适应正方形。
  • img,video 适应容器宽高:object-fit (fill, contain, cover, scale-down, none)

本文系转载,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档