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

产生问题的原因

存在着页面居中的需求

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

为了让 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 限制。

三行代码搞定。

相关推荐
雪芽蓝域zzs2 小时前
第 5 节:Marker 点击弹出 InfoWindow 信息窗口
vue.js
回眸&啤酒鸭2 小时前
【回眸】OpenSwarm 多智能体协作系统实战指南
大数据·前端·人工智能
用户69371750013842 小时前
2026,程序员的时代拐点到了
android·前端·后端
大龄秃头程序员2 小时前
一次 iBeacon + BLE 无感解锁方案的实现记录
前端
小兔子2 小时前
Python 的 GIL 与 free-threading:3.13 之后「去 GIL」走到哪一步了
前端
IT_陈寒3 小时前
SpringBoot自动配置差点让我加班到凌晨
前端·人工智能·后端
guslegend4 小时前
脚手架原理与本地调试:从 bin 软链接到 npm link
前端·npm·node.js·脚手架·前端工程化
小宋10214 小时前
A2UI从零实战:Agent安全生成交互界面与事件回传
javascript·人工智能·安全·交互
大包子4 小时前
structuredClone vs lodash.cloneDeep:核心差异与选型指南
javascript·vue.js
海码事务所4 小时前
Google Play 新个人开发者账号上架指南:12 人连续 14 天封闭测试怎么做?
前端