

新闻资讯
行业动态float两栏布局需精确控制width且总和不超过父容器宽度,否则右栏换行;父容器高度塌陷可用overflow:hidden或伪元素清除浮动;HTML顺序应与视觉顺序一致;现代开发更推荐flex或grid布局。
float 做两栏布局,width 必须精确控制浮动两栏能工作,但前提是左右栏的 width 加起来不能超过父容器宽度(还得预留 margin 或 padding 的空间)。浏览器不会自动“挤一挤”,超了就会换行。
width: 70%,右栏也设 width: 30%,但加了 padding: 10px 后实际占用超出 100%,右栏掉到下一行box-sizing: border-box,让 padding 和 border 包含在 width 内padding,子元素用 width: calc(100% - 20px) 这类计算值比固定百分比更可控float 布局后父容器高度塌陷怎么破这是浮动最经典的问题:左右栏都 float 了,父容器认为里面“没内容”,高度变成 0,后续元素直接顶上来。
overflow: hidden 或 overflo
w: auto(注意可能触发滚动条或裁剪)
content: ""; display: table; clear: both;(写在
::after 里)float 方向浮动本身不改变文档流顺序,只是“贴边”。如果希望左栏在 HTML 中写在后面、却显示在左边,仅靠 float: left 是做不到的。
float: left;右栏 HTML 在后 → float: right
float: right,左栏再 float: left,也能对齐——但要注意:右栏必须先渲染,否则左栏会占满整行,把右栏挤下去float 做两栏布局不是不能用,而是容易踩坑且扩展性差。比如加个等高需求、响应式断点、垂直居中,就得堆一堆 hack。
立即学习“前端免费学习笔记(深入)”;
float 是为文字环绕图片设计的,不是为页面布局float 和 width,而 flex 或 grid 只需改一两个属性float,但 IE6/7 的盒模型和浮动 bug 太多,维护成本高如果你必须兼容老项目或特定环境,float + width 是可行的,但务必手动验证所有边界情况:窄屏、大字体、缩放 200%、输入框聚焦时的 outline 溢出……这些地方最容易露馅。