差点被一个 div 气炸。
大家都经历过那种布局几乎没问题的夜晚:
侧边栏安稳地摆在那里,头部也端正得体,可某个区域却突然像家宴上闹情绪的弟弟,硬是不肯听话。
无论怎么调宽度、最小宽度,还是用calc(100% - 某值),甚至向 CSS 神明献上了缺失的分号……布局就是不肯对齐。
这时,突然想起一个久违的老朋友:
flex: 1;
瞬间,一切归位,完美无缺。
没有多余的 div, 没有复杂的数字计算, 只有简洁优雅的一行 CSS。
flex: 1 究竟有何魔力?
大家可能都用过display: flex,也调过justify-content、align-items,但flex: 1是那种在布局“耍脾气”时,真正救命的神奇简写。
来简单拆解一下:
flex-grow: 1:允许该子元素扩展,占据剩余空间;
flex-shrink: 1:当空间不足时,允许收缩;
**flex-basis: 0%**:初始大小为 0,根据剩余空间调整尺寸。
通俗点说:
“浏览器,给所有设了flex: 1的孩子们均分空间。”
示例说明
假设有个简单的布局:
<divclass="container"> <divclass="sidebar">固定宽度侧边栏</div> <divclass="main">主内容区</div> </div>
给侧边栏设置固定宽度,给主内容区加上flex: 1:
.container{ display: flex; } .sidebar{ width:200px; } .main{ flex:1; }
结果是,主内容区自动填满除侧边栏外的剩余空间,无需再用calc()或复杂的 JS 计算宽度。
简洁、高效,并且兼容主流现代浏览器。
额外推荐:object-fit: cover同样功不可没
说到布局救星,图片处理也不能忽视。
如果遇到图片在容器里变形拉伸的尴尬,
object-fit:cover;
能帮你智能裁剪和缩放图片,保证容器被填满的同时,保持图片的长宽比不变。
非常适合头像、横幅、缩略图等视觉展示。
总结
遇到布局难题,别急着上 javascript,或一头扎进复杂的 Grid 布局。
很多时候,只需一行 CSS:
flex: 1让布局灵活分配空间,
object-fit: cover让图片美观大方。
这些被低估的 CSS 技巧,才是让 UI 清爽、开发心情舒畅的幕后英雄。
小二CMS专注于高端网站建设服务及定制,拥有丰富的企业网站建站经验。 近年来制作并完成了许多网站建设案例,企业品牌官网、营销型网站的建设、B2C网上商城系统开发、行业门户网站等平台开发,我们还提供了网站的策划、设计、开发、布署、安全等一站式专业的网站建设解决方案。小二CMS致力于研发国内最专业、功能最强大,扩展性能最自由灵活的高端行业通用的网站系统。我们做的不仅仅是网站系统,更多的是成就您的成功!
十二年建站服务经验
服务1800家企业
资深行业分析策划
前沿视觉设计、研发能力
前端代码深度符合SEO优化
千家成功案例
独家源码出售
具有完备的项目管理
完善的售后服务体系
深厚的网络运营经验
时刻新技术领先研发能力
方便二次开发
我们是一个年轻且富有激情的团队,我们沉迷于代码并陶醉在设计之中。我们非设计,不生活;无兄弟,不编程!可年轻并不意味着没有经验。团队成员均来自各顶尖设计公司及软件公司,我们对网站设计及开发驾轻就熟,有着数百个成功案例。我们坚信用心服务,用实力说话!我们的使命:通过我们的努力,让技术改变命运!我们的宗旨:客户第一,品质至上!我们的信念:唯有客户的成功,才是我们的成功!
QQ扫码联系客服
微信扫码联系客服