Fixed-Height Cards: More Fragile Than They Look
固定高度卡片看似能保证视觉对齐,实则依赖内容始终适配预设尺寸的脆弱假设。当遇到多语言翻译、字体缩放或内容变化时,固定容器与动态内容会产生冲突,导致布局破裂或内容溢出。作者通过博客组件实例指出,单纯依赖 `overflow: hidden` 和行截断(如 `-webkit-line-clamp`)只是掩盖了结构性张力。 解决方案的关键在于移除三重约束:取消固定高度、避免绝对定位用于布局、停止强制截断内容。通过使用 CSS Grid 的自动行高对齐(`align-items: stretch`)替代固定高度,配合 Flexbox 构建卡片内部流式布局(如 `flex: 1` 让内容区自适应填充),可使组件自然响应内容变化。同时,采用 `clamp()` 函数实现流式字体大小,增强跨视口适配能力。 文章强调,健壮的布局应基于内容驱动而非预设限制。通过模拟压力测试(如极端文本、字体放大、图片缺失)可提前暴露脆弱性。最终,从“预测内容”转向“适应内容”的结构性调整,使组件能在多变场景下保持稳定,无需依赖防御性隐藏规则。