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

36. 有一个高 100%的 div,里面有一个高 100px 的 div,剩下一个自动填满

总结

  1. 使用 calc(100% - 100px) 进行高度计算;
  2. 使用 Flexbox 布局,通过 flex: 1 自动填充;
  3. 使用 CSS Grid 布局,通过 1fr 定义剩余空间。

概述

在实际开发中,我们经常遇到布局需求:一个高度为 100% 的容器中包含一个固定高度的子元素,另一个子元素需要自动填满剩余空间。这种需求在构建布局(如顶部固定高度的标题栏 + 可滚动内容区域)时非常常见。

实现方式

方法一:使用 calc() 函数

CSS 的 calc() 函数允许在样式中进行数学运算,适用于已知固定高度的场景。

.container {height: 100%;display: flex;flex-direction: column;
}.fixed {height: 100px;
}.fill {height: calc(100% - 100px);
}

方法二:使用 Flexbox 布局(推荐)

Flexbox 是一种现代布局方式,可以更优雅地实现此类需求,无需手动计算高度。

.container {height: 100%;display: flex;flex-direction: column;
}.fixed {height: 100px;
}.fill {flex: 1;
}

推荐使用 Flexbox:它更灵活、可维护性强,尤其适合响应式布局。

方法三:使用 Grid 布局

CSS Grid 布局也可以轻松实现该效果,适用于更复杂的二维布局场景。

.container {height: 100%;display: grid;grid-template-rows: 100px 1fr;
}

HTML 结构示例

<div class="container"><div class="fixed">固定高度 100px</div><div class="fill">自动填满剩余空间</div>
</div>

常见问题与注意事项

  • 确保 .container 的父容器有明确的高度定义,否则 100% 高度可能无效。
  • 使用 calc() 时注意单位一致性,避免计算错误。
  • Flexbox 和 Grid 布局在现代浏览器中兼容性良好,但在旧浏览器(如 IE)中可能需要 polyfill。
http://www.xdnf.cn/news/16925.html

相关文章:

  • HiveMQ核心架构思维导图2024.9(Community Edition)
  • VBA 64位API声明语句第012讲
  • 实现游戏排行榜
  • Spring Boot 的事务注解 @Transactional 失效的几种情况
  • 从马武寨穿越关山
  • K8S部署ELK(五):集成Kibana实现日志可视化
  • [硬件电路-144]:模拟电路 - 开关电源与线性稳压电源常见的性能指标对比
  • Android设备认证体系深度解析:GMS/CTS/GTS/VTS/STS核心差异与认证逻辑
  • 【连接器专题】连接器做为固定连接介质的三种分类
  • 问题集000
  • Go语言常量
  • CAP 理论笔记
  • 前端开发(HTML,CSS,VUE,JS)从入门到精通!第四天(DOM编程和AJAX异步交互)
  • Mysql深入学习:InnoDB执行引擎篇
  • K8S几种常见CNI深入比较
  • Vue+SpringBoot+langchain4j实战案例:实现AI消息问答 及 Markdown打字机渲染效果
  • C语言与数据结构:从基础到实战
  • 基于 Spring Boot + Vue 实现人脸采集功能全流程
  • 大模型智能体(Agent)技术全景:架构演进、协作范式与应用前沿
  • Selenium Web 自动化
  • 【AI论文】ScreenCoder:通过模块化多模态智能体推动前端自动化中的视觉到代码生成技术发展
  • 【Django】-9- 单元测试和集成测试(上)
  • 使用 Spring Initializr 生成项目结构:Java 开发效率提升指南
  • centos9 安装docker engine
  • react native中markdown添加数学公式的支持
  • 【大模型核心技术】Agent 理论与实战
  • 【项目日志|苍穹外卖】 Day1:项目环境搭建与架构设计
  • 【Excel】利用函数和Power Query进行数据分析
  • NX969NX972美光固态闪存NX975NX977
  • Java,八股,cv,算法——双非研0四修之路day24