一个有趣的CSS题目

前几天无意间看到一个有趣的题,题目很简单,但是最终的结果却出人意料,题目是这样的:

xml 复制代码
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta name="theme-color" content="blue"/>
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Document</title>
</head>
<style>
  .parent{
    display: flex;
    flex-direction: column;
    height: 600px;
    width: 300px;
    background-color: aqua;
  }
  .header{
    height: 200px;
    background-color: red;
  }
  .fotter{
    height: 200px;
    background-color: blue;
  }
  .content{
    height: 100%;
  }
</style>
<body>
  <div class="parent">
    <div class="header"></div>
    <div class="content"></div>
    <div class="fotter"></div>
  </div>
</body>
</html>

这段代码中的content的高度是多少,大家可以自己想一下,稍微思考一下。接下来让我们看一下豆包的回答: ​ 再看一下通义千问的回答:

再看一下deepseek的回答:

最后再看看Gemini3的回答:

大家可能以为content的高度不就是200px吗,但是结果真的是这样的吗?

请大家看一下最终的结果:

大家会看到content的高度为360px,header和footer的高度为120px,是不是感觉不可思议,为啥会这样嘞,这个问题,想问ai就会发现,这咋问啊,ai全是错的,那我来告诉你们答案(当然我说的也不一定对,但是大差不差,结果肯定是对的):

  • percent height 会被解析为父容器的绝对值:content 的 height:100% → 600px(父高度)。
  • 每个子项的 flex base size(假设基准)分别是 header=200, content=600, footer=200,总和 = 1000px。
  • 可用主轴空间 = 600px,差额(需要收缩) = 1000 - 600 = 400px。
  • 默认 flex-shrink = 1,按基准尺寸比例收缩:content 收缩量 = 600/1000 * 400 = 240 → 最终 content 高度 = 600 - 240 = 360px。

参考(建议重点看 W3C 规范里的算法):

大家可以详细看看理解一下,当然不看也没关系,知道这个计算规则也 可以了,至少比ai强了。

相关推荐
এ慕ོ冬℘゜5 分钟前
前端实战:jQuery实现动态表格渲染与状态切换功能
前端·javascript·jquery
jay神1 小时前
【计算机毕业设计】基于Flask+Vue的电影数据可视化与智能推荐系统
前端·vue.js·python·信息可视化·flask·毕业设计·课程设计
FreeTinker7 小时前
HTML本地存储技术解析:localStorage与sessionStorage的原理、差异与应用场景
前端·html
qq_452396237 小时前
第十二篇:《全链路监控与可观测性:前端错误追踪与性能分析》
前端
wangruofeng8 小时前
Phosphor Icons 官网源码拆解:URL 即存储、水波动画与 7362 Star 图标库的架构实践
前端·架构·github
BigTopOne8 小时前
WebRTC Native / Android 开发学习资源整理
前端
excel9 小时前
nuxt 3 升级 nuxt 4 报错之 hasInjectionContext
前端
何以解忧,唯有..10 小时前
LangChain 工具调用(Tool Calling)实战指南
java·前端·langchain
软件聚导航10 小时前
「聚小软 AI 助手」技术升级:从数据库检索到 RAG 知识库问答
前端·数据库·mysql·微信小程序·小程序·ai编程·rag
恋猫de小郭11 小时前
看懂大模型架构术语,帮助你理解目前常见的大模型开源架构
前端·人工智能·ai编程