float工具类不推荐使用,因其易致塌陷、错位等问题,现代布局应优先采用flex或grid;text-align仅作用于内联内容,对块级子元素无效,需配合inline-block等才能生效。
直接说结论:float 类(如 float-left、float-right)在响应式布

display: flex 或 display: grid 替代。
text-align 类(如 text-left、text-center)仅影响元素内部的文本、inline 元素、inline-block 元素的水平对齐方式,**对块级子元素本身的位置无控制力**。常见误用场景:
div 加 text-center,却期望里面一个 width: 200px 的 div 居中 —— 不生效,因为子 div 是块级,不受 text-align 影响text-right 想把按钮右对齐,但按钮是 block 或未设 display: inline-block —— 依然左贴边真正起效的前提是:目标元素为 inline 级别,或显式设为 inline-block / inline-flex 等内联格式化上下文。
现代工具类库(Tailwind、Bootstrap 5+)用 flex 相关类替代 float 和 text-align 的粗粒度控制,更可靠:
justify-content 控制主轴(默认横轴)对齐:justify-start / justify-center / justify-end / justify-between
align-items 控制交叉轴(默认竖轴)对齐:items-start / items-center / items-end
flex justify-center items-center,子元素无需额外样式flex justify-end gap-2,比 float-right + clear-both 干净得多.container {
display: flex;
justify-content: flex-end;
align-items: center;
gap: 0.5rem;
}
若因 legacy 代码或特定动画需求必须用 float-left,务必同步处理父容器高度塌陷问题:
overflow: hidden 或 overflow: auto(触发 BFC)clear: both,如 ,对应 CSS:.clear-both { clear: both; }
clear-both,需自行定义或改用 before:content-[''] before:table 触发 BFCtext-align “修复” float 布局 —— 它俩作用域完全不同,混用只会增加调试成本浮动的本质是脱离文档流,而文本对齐是文档流内的排版规则;把它们当成同一类“对齐工具”来混搭,是很多布局 bug 的根源。