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

产生问题的原因

存在着页面居中的需求

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

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

三行代码搞定。

相关推荐
liuchangng4 小时前
React 19 + Vite 6 实战:从教材 PDF 到 866 词间隔重复单词 App
前端·react.js·pdf·vite·开源项目
Dwzun4 小时前
基于SpringBoot3+Vue3的油莎豆种植管理系统
java·前端·vue.js·spring boot·后端·python·计算机网络
小码哥_常10 小时前
一套自己部署的 IM,客户端是同一份 Flutter
前端·后端
蜗牛攻城狮12 小时前
微前端四大方案选型对比与最佳实践:qiankun、micro-app、wujie、Module Federation
前端·微前端·qiankun·前端架构·micro-app·wujie
她说可以呀14 小时前
Vue插槽
前端·javascript·vue.js
qq_4480111614 小时前
Vue + Jinja2两套模版与法冲突造成undefinedError
前端·javascript·vue.js
aixingpan14 小时前
aixingpan.cn API开发文档:前端查询夏令时和时区接口指南
前端·php
2601_9583529015 小时前
23.5×19mm 换掉一整条音频链?|A-68 集成了什么:ADC / DAC / 24.576MHz 时钟 / AEC / 波束降噪,主控仅需 6 根线
前端·音视频·ai降噪·回声消除·语音模块
志尊宝15 小时前
AI原生前端开发(039):AI辅助的Nuxt 4全栈开发
前端·vue.js·ai-native
FRing0316 小时前
JavaScript入门到精通三十二(深拷贝、浅拷贝、递归函数)
开发语言·前端·javascript