浏览器页面出现竖向滚动条的解决方案

产生问题的原因

存在着页面居中的需求

如果不做任何配置,盒子只包裹里面的图片、文字,高度不固定。这导致「内容会贴在页面顶部,不会垂直居中」。

为了让 div 盒子的高度撑满整个屏幕,通常会配置 min-height:100vh

再配合:

css 复制代码
 display: flex;
 align-items: center; /* 垂直居中 */
 justify-content: center; /* 水平居中 */

盒子中的内容会居中在屏幕正中央。

然而,问题出现了

浏览器自带默认样式,页面默认有 外边距 margin

在上古时代,网页大多是纯文章,浏览器希望文字不要贴着屏幕边缘,所以 <body> 容器和屏幕边框之间默认有 8px 的距离。

可是已经把 <div> 盒子的高度设置为屏幕高度了。这就多出来 8px,导致页面中展示的内容超过了屏幕高度。

解决方案

要想解决这个问题,可以直接解决掉「容器和屏幕边框之间的默认距离」。

对于 HTML

css 复制代码
 body {
   margin: 0;
 }

对于 Vue

css 复制代码
 :global(body) {
   margin: 0;
 }

Vue 会把组件插入到 <body> 标签内。<body> 不在当前组件里,必须用 :global() 才能选中它。

所以,:global() 一定要有。它让样式全局生效,不被 scope 限制。

三行代码搞定。

相关推荐
前端小万1 小时前
用 AI 写了个 VSCode 摸鱼插件,从开发到上架全过程
vue.js
蜡台1 小时前
Vue3 + ECharts 实现地图显示,深蓝色科技风地图、涟漪点、向上连线 ,标签
vue.js·科技·echarts·map·地图
之歆1 小时前
DAY_17深度博客:CSS 响应式布局 · BFC · JavaScript 完全指南(下)
前端·javascript·css
光影少年1 小时前
React18 函数组件执行顺序、严格模式下重复执行问题
前端·javascript·react.js
之歆1 小时前
DAY_20JavaScript 条件语句与循环结构深度学习(一)
前端·javascript
lihaozecq1 小时前
从零实现一个 ReAct Agent Loop - 可中断、可流式、多模型支持
前端·agent·ai编程
冴羽yayujs1 小时前
GitHub 前端热榜项目 - 日榜(2026-05-10)
前端·github
CAE虚拟与现实1 小时前
前后端调试常用工具大全
前端·后端·vue·react·angular
iuu_star1 小时前
跑通最简单的Vue3+Python前后端分离项目
前端·vue.js·python