You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Flexbox布局下倒计时数字变个位数时下方文本移位问题求助

倒计时器数字移位问题解决方法

这不是Flexbox的问题,是你的代码没处理数字位数变化带来的宽度变化。当数字从两位数变成一位数时,h2元素的宽度会缩小,导致.time容器宽度改变,下方文本自然跟着移位。

两种解决办法:

办法一:给数字容器固定最小宽度

修改CSS中.time h2的样式,添加固定最小宽度并让文本居中,确保一位数和两位数占据的宽度一致:

.time h2 {
  font-weight: bold;
  font-size: 100px;
  line-height: 1;
  margin: 0 0 30px;
  /* 新增样式 */
  min-width: 200px; /* 可根据字体大小调整,保证能容纳两位数 */
  text-align: center;
}

办法二:给个位数补前导0

修改JavaScript的赋值逻辑,把所有数字处理成两位数格式,用padStart方法自动补0:

document.getElementById("days").innerHTML = String(days).padStart(2, '0');
document.getElementById("hours").innerHTML = String(hours).padStart(2, '0');
document.getElementById("minutes").innerHTML = String(minutes).padStart(2, '0');
document.getElementById("seconds").innerHTML = String(seconds).padStart(2, '0');

两种方案都能解决移位问题:补0的方案视觉更统一,固定宽度的方案保留数字原本位数但维持布局稳定,按需选择即可。

内容的提问来源于stack exchange,提问作者user15741517

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 12:50:29