Flex布局实现简单的弹性盒样式
样式描述
布局实现头部和底部高度固定,中间内容实现自动填充剩余空间;
中间区域分为三部分,根据媒体查询修改flex布局主轴的对齐方向等。
以body标签开始
标签内设置为flex布局,主轴改为纵轴y
body{ width: 100%; height: 100%; display: flex; flex-direction: column; }
html{ height: 100%; }
这里html和body标签设置高度height为100%是为了能够更好的实现中间内容flex-grow的扩展
body内标签
<header>header</header> <div id="middle"> <div class="nav">nav</div> <div class="article">article</div> <div class="aside">aside</div> </div> <footer>footer</footer>
头部和底部标签样式
header,footer{ min-height: 100px; border: 3px solid antiquewhite; border-radius: 10px; }
中间内容样式
#middle{ flex-grow: 1; display: flex; min-height: 500px; }
//这里的flex-grow是相对于body标签的flex布局设置为扩展比率为1,如果没有这个flex-grow,middle的内容高度仅为设置的500px
然后将middle内设置为flex布局(默认主轴对齐方式为row)
nav、article、aside样式
.nav{ order: 1; flex-grow: 1; background-color: #ffba41; } .article{ order: 2; flex-grow: 3; background-color: #719dca; } .aside{ order: 3; flex-grow: 1; background-color: #ffba41; }
媒体查询
@media screen and (max-width:640px){ #middle{ flex-direction: column; } header,footer{ min-height: 50px; } .nav{ order: 2; } .article{ order: 1; } }
flex-direction 属性规定弹性盒中项目的方向。
flex-grow 属性用于设置或检索弹性盒子的扩展比率。
order 属性设置或检索弹性盒模型对象的子元素出现的顺序。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 单线程的Redis速度为什么快?
· SQL Server 2025 AI相关能力初探
· AI编程工具终极对决:字节Trae VS Cursor,谁才是开发者新宠?
· 展开说说关于C#中ORM框架的用法!