为什么用百分比布局时子元素宽度总是超出父容器?
大家好,我在做移动端导航栏时遇到问题。父容器设了width: 100%,里面三个子元素各占33.33%宽度,但实际显示时第三个元素会挤到下一行去。
我已经试过给父容器加font-size: 0解决子元素间距问题,也尝试过把百分比改成calc(33% - 2px),但有时候页面缩放后还是会错位。有没有什么稳定的方法让三个元素平分父容器宽度?
代码大概是这样的:
.parent {
width: 100%;
white-space: nowrap;
font-size: 0;
}
.child {
display: inline-block;
width: 33.33%;
vertical-align: top;
font-size: 14px;
}
在iPhone XR上测试时,第三个子元素总是被挤到下面,用浏览器开发者工具测量发现总宽度超过了父容器…
司空锦锦
Lv1
问题在于 inline-block 元素受 HTML 空白字符影响,默认会留出间距。用 flex 布局更稳定:
点赞
5
2026-02-04 10:38