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;
}
相关推荐
leobertlan1 小时前
2025年终总结
前端·后端·程序员
子兮曰1 小时前
OpenClaw架构揭秘:178k stars的个人AI助手如何用Gateway模式统一控制12+通讯频道
前端·javascript·github
百锦再2 小时前
Reactive编程入门:Project Reactor 深度指南
前端·javascript·python·react.js·django·前端框架·reactjs
莲华君2 小时前
React快速上手:从零到项目实战
前端·reactjs教程
百锦再2 小时前
React编程高级主题:测试代码
android·前端·javascript·react.js·前端框架·reactjs
易安说AI2 小时前
Ralph Loop 让Claude无止尽干活的牛马...
前端·后端
失忆爆表症4 小时前
05_UI 组件库集成指南:Shadcn/ui + Tailwind CSS v4
前端·css·ui
小迷糊的学习记录4 小时前
Vuex 与 pinia
前端·javascript·vue.js
发现一只大呆瓜4 小时前
前端性能优化:图片懒加载的三种手写方案
前端·javascript·面试
不爱吃糖的程序媛5 小时前
Flutter 与 OpenHarmony 通信:Flutter Channel 使用指南
前端·javascript·flutter