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

CSS设置width:100%的footer未占满全屏的原因及解决方法

问题原因

你设置的#content固定宽度为1920px,超过了1366px的屏幕视口宽度,浏览器会自动生成横向滚动条,但width: 100%是相对于父元素的宽度计算的:默认状态下body的宽度等于视口宽度,也就是1366px,没有被更宽的子元素#content撑开,所以#footer的宽度只能到1366px,横向滚动到右侧就会出现空白区域。

解决方法

以下方案均不需要修改你现有的HTML结构:

方案1:给body设置最小宽度

直接给body设置和#content一致的最小宽度,让body被撑开,#footer的100%宽度就会基于1920px计算,实现满幅效果。

/* 新增body样式 */
body {
  margin: 0; /* 移除浏览器默认的body外边距,避免边缘出现多余留白 */
  min-width: 1920px;
}
#content {
  width: 1920px;
  background-color: blue;
}
#footer {
  width: 100%;
  background-color: pink;
}

方案2:给footer设置固定宽度

如果确定#content后续不会调整宽度,直接给#footer也设置1920px的固定宽度即可,逻辑最简单。

#content {
  width: 1920px;
  background-color: blue;
}
#footer {
  width: 1920px;
  background-color: pink;
}

方案3:动态适配内容宽度

如果后续#content宽度可能调整,不想写死数值,可以给body设置width: max-content,让body自动适配最宽子元素的宽度,同时加min-width: 100vw保证内容比视口窄时,footer也能占满整个视口。

body {
  margin: 0;
  width: max-content;
  min-width: 100vw;
}
#content {
  width: 1920px;
  background-color: blue;
}
#footer {
  width: 100%;
  background-color: pink;
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 06:54:02