网页右侧出现多余空白问题求助(含HTML/CSS代码)
解决网页右侧多余空白问题
问题原因
虽然你给body设置了max-width: 1220px,但根元素html默认会自适应容纳超出视口的内容;再加上header设置了width: 100%,当内部内容最小宽度超过当前视口时,就会触发横向滚动条并产生右侧空白。
解决方案
- 给html元素添加宽度限制和横向溢出隐藏,避免其超出视口
- 让body在视口中居中,防止内容偏移导致的空白
- 可选:给header添加换行属性,适配小屏幕场景
修改后的CSS代码
* { box-sizing : border-box; margin : 0; padding : 0; border : none; } /* 新增html样式,限制宽度并隐藏横向溢出 */ html { width: 100%; overflow-x: hidden; } body { font-family : Helvetica; font-size : 22px; max-width : 1220px; color : seashell; background-color : black; opacity : 0.9; text-align : center; margin: 0 auto; /* 新增:让body在视口中居中 */ } a { color : seashell; } header { width : 100%; height : 69px; display : flex; justify-content : space-between; align-items : center; border-bottom : 1px solid seashell; flex-wrap: wrap; /* 可选:小屏幕下自动换行,避免内容溢出 */ gap: 1rem; /* 可选:换行后添加间距 */ padding: 0 10px; /* 可选:左右添加内边距,避免内容贴边 */ } .logo { margin-left : 10px; display : inline-flex; } .logo img { height : 50px; } nav { display : inline-flex; } .top-links { list-style : none; display : flex; justify-content : space-evenly; width : 350px; }
说明
html { width: 100%; overflow-x: hidden; }直接限制根元素宽度为视口宽度,隐藏超出的横向内容,彻底解决右侧空白body { margin: 0 auto; }让body在视口中水平居中,符合常规布局逻辑- header的
flex-wrap: wrap和padding是为了优化小屏幕体验,避免导航栏内容挤在一起或溢出
内容的提问来源于stack exchange,提问作者Slim Olivier
相关产品推荐
相关产品推荐

