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

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

下面代码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>
相关推荐
qq_5470261792 小时前
Flowable 工作流引擎
java·服务器·前端
刘逸潇20053 小时前
CSS基础语法
前端·css
吃饺子不吃馅3 小时前
[开源] 从零到一打造在线 PPT 编辑器:React + Zustand + Zundo
前端·svg·图形学
小马哥编程4 小时前
【软考架构】案例分析-Web应用设计(应用服务器概念)
前端·架构
鱼与宇5 小时前
苍穹外卖-VUE
前端·javascript·vue.js
啃火龙果的兔子5 小时前
前端直接渲染Markdown
前端
z-robot5 小时前
Nginx 配置代理
前端
用户47949283569155 小时前
Safari 中文输入法的诡异 Bug:为什么输入 @ 会变成 @@? ## 开头 做 @ 提及功能的时候,测试同学用 Safari 测出了个奇怪的问题
前端·javascript·浏览器
没有故事、有酒5 小时前
Ajax介绍
前端·ajax·okhttp
朝新_5 小时前
【SpringMVC】详解用户登录前后端交互流程:AJAX 异步通信与 Session 机制实战
前端·笔记·spring·ajax·交互·javaee