当前位置: 首页 > news >正文

display: flex,导致子dom宽高失效

 父元素

.parent{width: 100%;height: 100%;display: flex;flex-direction: column;
}

子元素添加flex-shrink: 0

.child {height: 300px;flex-shrink: 0;width: 100%;
}

flex-shrink: 0 是 CSS Flexbox 布局模块中的一个属性,用于控制当 flex 容器中没有足够的空间容纳所有 flex 元素时,该 flex 元素是否以及在何种程度上缩小。 

 详细解释:

当 flex 容器的总宽度(或高度,取决于 flex-direction)小于其内部所有 flex 元素的 flex-basis 之和时,会发生空间不足的情况。此时,浏览器会尝试缩小 flex 元素以适应容器。flex-shrink 属性决定了每个 flex 元素在这个缩小过程中所占的比例。

flex-shrink 属性接受一个数值作为值,该数值表示元素的收缩因子

  • flex-shrink: 0: 这表示该 flex 元素不会缩小。即使 flex 容器的空间不足,该元素也会保持其 flex-basis(或 width/height 如果 flex-basisauto)所定义的大小,可能会导致内容溢出容器。

  • flex-shrink: <正数> (默认值为 1): 这表示该 flex 元素可以缩小。缩小的比例与其他可以缩小的 flex 元素以及它们各自的 flex-shrink 值有关。值越大,元素在空间不足时缩小的程度就越大。

工作原理:

当 flex 容器中出现负的可用空间(即所有 flex 元素的 flex-basis 总和大于容器的可用空间)时,浏览器会按照以下步骤计算每个 flex 元素的缩小量:

  1. 确定可缩小的元素: 只有 flex-shrink 值大于 0 的 flex 元素才会被考虑缩小。
  2. 计算每个元素的收缩量: 每个可缩小元素的收缩量与其 flex-shrink 值和 flex-basis 成正比。更具体地说,每个元素的“收缩权重”是其 flex-shrink 值乘以其 flex-basis
  3. 分配负空间: 总的负可用空间会根据每个元素的收缩权重进行分配。收缩权重越大的元素,会被分配到更多的负空间,从而缩小得更多。

相关文章:

  • Upwork数据战争:用爬虫与AI预测垄断订单
  • uniapp小程序位置授权弹框与隐私协议耦合(合而为一)(只在真机上有用,模拟器会分开弹 )
  • 单例模式-3-双检锁/双重校验锁(DCL,即 double-checked locking)
  • Spark-SQL核心编程语言
  • 详解@JsonFormat和@DateTimeFormat注解:处理日期格式化的利器
  • Bright+Data网页解锁器在旅游行业的创新实践
  • 【深入C++多态:基于消息解析器的设计、实现与剖析】
  • T4P: Test-Time Training of Trajectory Prediction
  • 回溯算法:List 还是 ArrayList?一个深拷贝引发的思考
  • Jenkins 代理自动化-dotnet程序
  • 配置HADOOP_HOME环境变量和maven_HOME环境变量
  • 线代第二章矩阵第二课:矩阵的加法、减法、数乘
  • Python+Playwright:编写自动化测试的避坑策略
  • Mac系统升级node.js版本和npm版本并安装pnpm
  • Node.js Session 原理简单介绍 + 示例代码
  • Sui 的工具生态简化了游戏开发者的 Web3 集成流程
  • 技术与情感交织的一生 (六)
  • My Diary Pro:记录生活,珍藏回忆
  • Android NDK 编译 so 文件 抹除导出符号 反逆向
  • 如何争取高层对项目的支持
  • 国家发改委:美芯片药品等领域关税影响全球科技发展,损害人类共同利益
  • 东亚社会的“苦难诗学”:从《苦尽柑来遇见你》说起
  • 少年中国之少年的形塑
  • 小米回应SU7Ultra排位模式限制车辆动力:暂停推送更新
  • 全国首例在沪完成,这项近视治疗手术不到10秒
  • 上海:下调个人住房公积金贷款利率