求大佬解惑:高度与宽度百分比设置问题

求大佬解惑:高度与宽度百分比设置问题

下面代码flex项目设置了aspect-ratio:1后,其中的img元素的widthheight的百分比是相对于什么值?为啥增加文字后,整体items会被撑大,但是img大小并不会变化?难道其中有计算顺序的问题?如果有那么这些知识该去哪里学习?求大佬解惑

HTML 复制代码
<!DOCTYPE html>
<html lang="zh">
<head>
  <meta charset="UTF-8" />
  <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
  <title>🖼️ 图片撑满格子 vs 未撑满对比示例</title>
  <style>
    /* 页面基础样式 */
    body {
      margin: 0;
      font-family: Arial, sans-serif;
      background-color: #f5f5f5;
      padding: 20px;
    }

    h1, h2 {
      text-align: center;
      color: #333;
    }


    .grid-container-bad {
      display: grid;
      grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
      gap: 20px;
      max-width: 600px;
      margin: 40px auto;
    }

    .grid-item-bad {
      aspect-ratio: 1;
      background: #ffe;
      border: 2px solid #999;
      border-radius: 8px;
      display: flex;
      flex-direction: column;
      align-items: center;
      justify-content: center;
      padding: 10px;
    }

    .grid-item-bad img {
      width: 100%;    /* 这里的宽度和高度百分比是如何计算出来的? */
      height: 100%;
      object-fit: cover;
    }

    .grid-item-bad p {
      margin: 5px 0 0;
      font-size: 12px;
      text-align: center;
    }

   
  </style>
</head>
<body>

  <div class="grid-container-bad">
    <div class="grid-item-bad">
      <img src="https://picsum.photos/300/300?random=5" alt="图片5">
      <p>图片+文字</p>
    </div>
    <div class="grid-item-bad">
      <img src="https://picsum.photos/300/300?random=6" alt="图片6">
      <p>图片+文字</p>
    </div>
    <div class="grid-item-bad">
      <img src="https://picsum.photos/300/300?random=7" alt="图片7">
      <p>图片+文字</p>
    </div>
    <div class="grid-item-bad">
      <img src="https://picsum.photos/300/600?random=8" alt="图片8">
      <p>图片+文字</p>
    </div>
  </div>

</body>
</html>
相关推荐
anyup3 小时前
🔥开源零配置!10 分钟上手:create-uni + uView Pro 快速搭建企业级 uni-app 项目
前端·前端框架·uni-app
帆张芳显3 小时前
智表 ZCELL 公式引擎,帮你解锁自定义函数与跨表计算的强大能力
前端·javascript
北城以北88884 小时前
Vue-- Axios 交互(一)
前端·javascript·vue.js
shelutai4 小时前
实现提供了完整的 Flutter Web 文件上传解决方案
前端·flutter
im_AMBER4 小时前
Web 开发 29
前端·学习·web
前端开发爱好者4 小时前
Vite➕ 收费了!
前端·javascript·vue.js
gplitems1234 小时前
Petslist – Pet listing WordPress Theme Free Download
linux·服务器·前端
dcloud_jibinbin5 小时前
【uniapp】体验优化:开源工具集 uni-toolkit 发布
前端·webpack·性能优化·小程序·uni-app·vue
IT_陈寒5 小时前
Java性能调优实战:7个让GC效率提升50%的关键参数设置
前端·人工智能·后端