004-CSS-左右经典布局

左右经典布局

  • 方案一:弹性盒子布局
  • [方案二:绝对定位 + padding](#方案二:绝对定位 + padding)
  • [方案三:绝对定位 + margin](#方案三:绝对定位 + margin)
  • [方案四:行内块布局 + calc](#方案四:行内块布局 + calc)
  • [方案五:浮动 + BFC](#方案五:浮动 + BFC)

方案一:弹性盒子布局

💡 Tips:左侧子盒子宽度固定,右侧子盒子 flex: 1

javascript 复制代码
.parent {
  display: flex;
  width: 500px;
  height: 300px;
  border: 1px solid #ccc;
  box-sizing: border-box;
  margin-bottom: 20px;
}
.left-son {
  width: 100px;
  height: 100%;
  background: #4a90e2;
}
.right-son {
  flex: 1;
  height: 100%;
  background: #dfffdf;
}

方案二:绝对定位 + padding

💡 Tips:父盒子相对定位,padding-left,左侧子盒子绝对定位

javascript 复制代码
.parent {
  position: relative;
  padding-left: 100px;
  width: 500px;
  height: 300px;
  border: 1px solid #ccc;
  box-sizing: border-box;
  margin-bottom: 20px;
}
.left-son {
  position: absolute;
  left: 0;
  width: 100px;
  height: 100%;
  background: #4a90e2;
}
.right-son {
  height: 100%;
  background: #dfffdf;
}

方案三:绝对定位 + margin

💡 Tips:父盒子相对定位,左侧子盒子绝对定位,右侧子盒子margin-left

javascript 复制代码
.parent {
  position: relative;
  width: 500px;
  height: 300px;
  border: 1px solid #ccc;
  box-sizing: border-box;
  margin-bottom: 20px;
}
.left-son {
  position: absolute;
  left: 0;
  width: 100px;
  height: 100%;
  background: #4a90e2;
}
.right-son {
  margin-left: 100px;
  height: 100%;
  background: #dfffdf;
}

方案四:行内块布局 + calc

💡 Tips:父盒子font-size: 0,子盒子行内块,左侧子盒子100px,右侧子盒子 calc(100% - 100px)

javascript 复制代码
.parent {
  font-size: 0; /* 解决DOM换行引起的空白像素问题 */
  width: 500px;
  height: 300px;
  border: 1px solid #ccc;
  box-sizing: border-box;
  margin-bottom: 20px;
}
.left-son {
  display: inline-block;
  vertical-align: top;
  width: 100px;
  height: 100%;
  background: #4a90e2;
}
.right-son {
  display: inline-block;
  vertical-align: top;
  width: calc(100% - 100px);
  height: 100%;
  background: #dfffdf;
}

方案五:浮动 + BFC

💡 Tips:左侧子盒子浮动,右侧盒子 overflow:hidden; 触发 BFC

javascript 复制代码
.parent {
  width: 500px;
  height: 300px;
  border: 1px solid #ccc;
  box-sizing: border-box;
  margin-bottom: 20px;
}
.left-son {
  float: left;
  width: 100px;
  height: 100%;
  background: #4a90e2;
}
.right-son {
  overflow: hidden;
  height: 100%;
  background: #dfffdf;
}
相关推荐
特立独行的猫a24 分钟前
用仓颉写一个 Tauri:IPC 的每次往返实现原理(web层到仓颉层的触发过程)
前端·ui·harmonyos·tauri·鸿蒙·仓颉
Dovis(誓平步青云)24 分钟前
多个链接不等于多份证据,新闻核验看板怎样合并来源
java·服务器·前端·javascript·人工智能·pdf·电脑
骑着蜗牛撵大象32739 分钟前
Qt 事件机制详解:从 QEvent 派生类到事件过滤器的全景指南
前端·python
qq_2518364571 小时前
理发管理系统 —— 会员模块
开发语言·前端·python·flask
Frag0ut1 小时前
2027 年浏览器展望:Chrome 与 Edge 的 AI 智能体进化方向
前端·人工智能·chrome·edge·浏览器·新功能
计算机魔术师2 小时前
从AI绘图鼻祖到音乐版权破局者,Stability AI如何被三大唱片巨头「收编」
前端
奕鼎竜瑆2 小时前
Chrome 插件开发实战指南:从入门到发布
前端·chrome
广州华水科技2 小时前
水库北斗GNSS变形监测系统及单北斗形变监测一体机应用解析
前端
anew___4 小时前
《从零手写操作系统 (20):ELF加载器——让OS读懂现代编译器》
java·服务器·前端
ss2734 小时前
AI全栈实战 | 2.3-01 组件库实战:Element Plus 怎么搭出专业界面,过度封装为什么成维护负担
前端·javascript·elementui·vue