讲师中心 微信公众号
AI工具推荐 视频效率加速

css如何实现内容区和侧边栏布局_使用flex布局控制主次元素

阿枫姑娘_1080

阿枫姑娘_1080

发布时间:2026-02-12 16:21:31

|

693人浏览过

|

来源于php中文网

原创

主内容区应设 flex: 1(即 flex: 1 1 0),使其忽略自身宽度、主动占满剩余空间;侧边栏用 flex: 0 0 260px 并通过切换 flex-basis 实现收起/展开,父容器需有明确高度(如 min-height: 100vh)且 IE11 下须加 -ms-flex 和 min-width: 0。

css如何实现内容区和侧边栏布局_使用flex布局控制主次元素

flex布局中如何设置主内容区优先占满剩余空间

主内容区应该用 flex: 1,而不是 flex: auto 或固定 flex-basis。因为 flex: 1 等价于 flex: 1 1 0,它会让元素忽略自身宽度,主动撑开并吸收父容器所有剩余空间,侧边栏则保持固有尺寸不被拉伸。

常见错误是给主内容区设 width: 75% 或 flex: 0 0 75% —— 这在响应式场景下会和侧边栏冲突,尤其当侧边栏宽度变化(比如收起/展开)时,主内容区无法自适应。

  • 侧边栏推荐用 flex: 0 0 260px(收缩不放大,基础宽 260px)
  • 主内容区用 flex: 1,不设 width / max-width
  • 父容器必须声明 display: flex 且无换行(flex-wrap: nowrap 是默认值,不用显式写)

侧边栏需要固定宽度又支持收起时怎么写

收起/展开本质是切换侧边栏的 flex-basis,不是靠 display: none —— 后者会破坏 flex 流,导致主内容区不能自动回填空间。正确做法是用类控制 flex-basis 值,并搭配 overflow: hidden 防止内容溢出。

示例结构:

立即学习“前端免费学习笔记(深入)”;

CSS婚礼策划服务机构宣传网站模板
CSS婚礼策划服务机构宣传网站模板

CSS婚礼策划服务机构宣传网站模板是一款适合提供婚礼策划和婚庆服务机构宣传网站模板下载。提示:本模板调用到谷歌字体库,可能会出现页面打开比较缓慢。

下载
.sidebar { flex: 0 0 260px; transition: flex-basis 0.3s ease; }
.sidebar.collapsed { flex-basis: 0; overflow: hidden; }
.main { flex: 1; }
  • 收起时设 flex-basis: 0,而非 width: 0,否则 flex 仍会保留原尺寸“占位”
  • 必须加 overflow: hidden,否则内部文字或图标可能在 flex-basis: 0 下依然显示
  • 过渡动画只对 flex-basis 有效;flex-grow 和 flex-shrink 不触发 CSS 动画

主内容区内容高度不足时,侧边栏为啥没跟着撑高

这是 flex 默认行为:子项默认按内容高度伸缩,不会自动拉伸到容器高度。要让侧边栏和主内容区等高,需在父容器上加 align-items: stretch(默认值,通常不用写),但更关键的是确保父容器本身有明确高度来源 —— 比如 min-height: 100vh 或继承自某个有高度的祖先。

  • 如果父容器高度由内容撑开,而内容又很短,那所有子项都只会“贴着内容高度”,侧边栏自然不会变长
  • 解决方法:给父容器加 min-height: 100vh,或使用 height: 100%(前提是所有父级都有明确高度)
  • 避免对侧边栏单独设 height: 100%,这在 flex 中常因脱离文档流而失效

IE11 下 flex 布局错乱怎么办

IE11 对 flex: 1 的解析有 bug,特别是当主内容区含内联元素或未设 min-width: 0 时,容易溢出或不收缩。必须加前缀和兜底规则。

关键修复项:

.main {
  flex: 1;
  -ms-flex: 1;
  min-width: 0; /* IE11 必加,防止文本溢出破坏 flex */
}
.sidebar {
  flex: 0 0 260px;
  -ms-flex: 0 0 260px;
}
  • min-width: 0 是 IE11 下 flex 子项不溢出的硬性要求,尤其内容含长单词、URL 或图片时
  • -ms-flex 前缀不可省略,仅写 flex 在 IE11 中会被忽略
  • 避免在 flex 容器里用 float 或 position: absolute,IE11 下兼容性极差

主内容区和侧边栏的 flex 协作,核心不在“怎么分宽度”,而在“谁让出空间、谁接收空间、谁控制边界”。很多问题其实出在父容器高度缺失、IE 兜底遗漏,或者误把视觉宽度当成 flex 分配逻辑。

热门AI工具

更多
豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

花生AI
花生AI Hot

一款AI视频创作工具,主要用于B站推出的AI视频创作工具,适合需要提升相关任务效率的用户。

VibeKnow
VibeKnow Hot

一款AI视频创作工具,主要用于全球首个AI知识视频创作平台,文档、文章、网页,一键生成视频,适合需要提升相关任务效率的用户。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

音述AI
音述AI Hot

一款AI音频处理工具,主要用于音述AI是一个以“用声音述说故事”为核心的 AI 音乐创作与声音分享社区,适合需要提升相关任务效率的用户。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

小橡皮AI

一款AI工具,主要用于小橡皮一键去AI味,将机器味重的内容改得更有活人感,防止因为 AI 内容被平台打上 AI 标签,以及限流,适合需要提升相关任务效率的用户。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

相关专题

更多
css中float用法
css中float用法

css中float属性允许元素脱离文档流并沿其父元素边缘排列,用于创建并排列、对齐文本图像、浮动菜单边栏和重叠元素。想了解更多float的相关内容,可以阅读本专题下面的文章。

7207

2024.04.28

C++中int、float和double的区别
C++中int、float和double的区别

本专题整合了c++中int和double的区别,阅读专题下面的文章了解更多详细内容。

844

2025.10.23

CSS position定位有几种方式
CSS position定位有几种方式

有4种,分别是静态定位、相对定位、绝对定位和固定定位。更多关于CSS position定位有几种方式的内容,可以访问下面的文章。

352

2023.11.23

overflow什么意思
overflow什么意思

overflow是一个用于控制元素溢出内容的属性,当元素的内容超出其指定的尺寸时,overflow属性可以决定如何处理这些溢出的内容。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

3200

2024.08.15

flex教程
flex教程

php中文网为大家带来了flex教程合集,Flex是采用Flex布局的元素,称为Flex容器(flex container),简称"容器",它的所有子元素自动成为容器成员,有三个核心概念: flex项,需要布局的元素;flex容器,其包含flex项;排列方向,这决定了flex项的布局方向。php中文网还为大家带来flex的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

11017

2023.06.14

Tailwind CSS 如何制作导航栏和卡片
Tailwind CSS 如何制作导航栏和卡片

用 Tailwind CSS 制作导航栏和卡片,可先搭建语义化结构,再组合 Flex、Grid、间距、圆角与阴影类。这里整理横向导航、移动端菜单、卡片网格及悬停效果的相关文章,帮助你把常见页面组件做得清晰且适配不同屏幕。

0

2026.11.03

Tailwind CSS 响应式布局怎么写
Tailwind CSS 响应式布局怎么写

Tailwind CSS 响应式布局通常从移动端样式写起,再用 sm、md、lg 等前缀调整不同屏幕宽度下的网格、间距和导航。本专题整理断点配置、Grid 与 Flex 自适应布局及常见溢出问题,帮助你逐步完成多设备适配。

0

2026.11.03

Tailwind CSS 常用类名怎么记
Tailwind CSS 常用类名怎么记

Tailwind CSS 类名很多,先按布局、间距、文字、颜色和状态分组记忆,再通过官方文档检索具体写法。本专题结合类名排序、动态拼接失效、自定义实用类等问题,帮助你建立常用类名的速查方法。

0

2026.11.03

码上飞入口地址合集
码上飞入口地址合集

本专题汇总了码上飞(CodeFlying)的官方入口地址合集,涵盖官网主站及网页版在线使用入口,支持注册登录后直接在线体验零代码AI应用生成。同时整理了APP端下载渠道与小程序入口,助你快速访问平台,通过自然语言描述需求即可生成应用、小程序或网站。

0

2026.11.03

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Sass 教程
Sass 教程

共14课时 | 1.6万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn