用flex布局配合align-items可解决标题和图文错位问题:先给共同父容器设display:flex,再用align-items:center等值控制垂直对齐,同时重置标题margin和line-height以确保一致性。
标题和图文错位,通常是因为容器内元素的默认对齐行为不一致,比如文字基线对齐(baseline),而图片默认按底部对齐,导致视觉上“没对齐”。用 flex 容器配合 align-items 是最直接、可靠的统一方案。
错位问题常出现在普通块级流中。先给包含标题和图片的外层容器设置 display: flex,让子元素进入弹性布局上下文:
标题
→ 给 .item 设 display: flex
在水平主轴(row)下,交叉轴是垂直方向,align-items 就管上下对齐。常用值及效果:
align-items: center:标题文字和图片中
线对齐(最常用,视觉最稳)align-items: flex-start:都顶对齐(适合标题短、图高大的场景)align-items: baseline:按文字基线对齐——容易复现错位,一般避免使用
即使用了 flex, 默认有 margin 和 line-height,可能造成“看起来没对齐”:
margin: 0,避免额外空白干扰line-height 会影响整体高度,可设为无单位数值(如 1.2)增强一致性vertical-align: middle 作兼容兜底(虽在 flex 中非必需,但对旧浏览器或意外脱离 flex 时有用)基本上就这些。不用折腾 vertical-align 或负 margin,flex + align-items 一条规则就能治本。