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

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

下面代码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>
相关推荐
白兰地空瓶1 小时前
🏒 前端 AI 应用实战:用 Vue3 + Coze,把宠物一键变成冰球运动员!
前端·vue.js·coze
Liu.7742 小时前
vue3使用vue3-print-nb打印
前端·javascript·vue.js
松涛和鸣3 小时前
Linux Makefile : From Basic Syntax to Multi-File Project Compilation
linux·运维·服务器·前端·windows·哈希算法
dly_blog3 小时前
Vue 逻辑复用的多种方案对比!
前端·javascript·vue.js
万少3 小时前
HarmonyOS6 接入分享,原来也是三分钟的事情
前端·harmonyos
烛阴3 小时前
C# 正则表达式:量词与锚点——从“.*”到精确匹配
前端·正则表达式·c#
wyzqhhhh4 小时前
京东啊啊啊啊啊
开发语言·前端·javascript
JIngJaneIL4 小时前
基于java+ vue助农电商系统(源码+数据库+文档)
java·开发语言·前端·数据库·vue.js·spring boot·后端
想学后端的前端工程师4 小时前
【Java集合框架深度解析:从入门到精通-后端技术栈】
前端·javascript·vue.js
VcB之殇4 小时前
git常用操作合集
前端·git