如何将加载进度条垂直居中显示在屏幕中央
技术百科
花韻仙語
发布时间:2026-01-27
浏览: 次 本文介绍如何通过 css 调整 `position`、`top` 和视口单位(`vh`),将固定定位的加载进度条及其文字内容精准垂直居中于整个视口中央,避免受页面滚动或地图渲染干扰。
要让加载进度条(.progress)及其内部标题和进度条(.bar)真正居中于屏幕正中央(而非顶部),关键在于正确理解定位上下文与居中策略。原代码中 .progress 使用 position: fixed; top: 0;,导致其始终锚定在视口顶部;而尝试在 body 上添加 top: 50%; transform: translateY(-50%) 是无效的——因为 body 并非定位上下文,且该写法会破坏全局布局流。
✅ 正确解法是:仅对 .progress 容器应用垂直居中逻辑,并确保其脱离文档流、覆盖全屏但位置可控。
✅ 推荐方案:使用 position: fixed + top: 40vh(微调版居中)
由于 .progress 内含
标题(高度约 60px+)和细进度条(5px),单纯 top: 50% 会使容器中点对齐视口中点,但视觉上标题偏上、整体偏高。因此推荐使用 top: 40vh —— 即距离视口顶部 40% 高度,兼顾标题高度与进度条位置,实测更符合“视觉居中”预期:.progress {
position: fixed;
left: 0;
width: 100%;
height: auto; /* 让内容撑开高度,避免遮挡 */
z-index: 9999;
top: 40vh; /* 关键:40% 视口高度,比 50% 更自然 */
text-align: center;
}? 提示:vh(viewport height)单位基于浏览器窗口高度,不受页面滚动影响,完美适配 Google Maps 等动态渲染内容。
? 同时优化其他细节
-
移除冗余定位声明:原 CSS 中 .progress 重复写了 position: fixed 和 position: absolute,保留 fixed 即可(确保覆盖全屏且不随滚动偏移);
-
为 body 添加背景色:防止进度条淡出后露出白底闪动,建议统一设为 #f2f2f2;
-
确保文字水平居中:给 .progress 加 text-align: center,并微调 .percent 的 left: 48%(或改用 left: 50%; transform: translateX(-50%) 实现精确居中)。
✅ 最终精简 CSS 片段(推荐直接替换)
body {
margin: 0;
padding: 0;

font-family: helvetica;
background-color: #f2f2f2;
}
.progress {
position: fixed;
left: 0;
width: 100%;
z-index: 9999;
top: 40vh;
text-align: center;
}
.bar {
background-color: #819FF7;
width: 0%;
height: 5px;
border-radius: 3px;
margin: 0 auto; /* 水平居中 */
display: block;
}
.percent {
position: absolute;
top: 3px;
left: 50%;
transform: translateX(-50%);
}⚠️ 注意事项
- 不要对 body 或 html 设置 transform: translateY(),这会导致整个页面位移,干扰地图容器定位;
- 避免在 .progress 上设置 height: 100%,否则会强制占满视口,挤压内容并使 top: 40vh 失效;
- 若需严格数学居中(例如容器总高 = 标题高 + 5px 条),可计算后使用 top: calc(50% - (总高度/2)),但 40vh 在多数场景下更简洁鲁棒。

通过以上调整,进度条将稳定悬浮于屏幕中部,无论 Google Maps 如何加载或 DOM 如何动态变化,用户体验显著提升。
# 加载
# 写了
# google
# 要让
# 推荐使用
# 不受
# 全屏
# 要对
# 浏览器
# css
# 设为
# go
# html
# dom
# transform
# 进度条
# position
# 口中
# 垂直居中
# viewport
# 固定定位
相关栏目:
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
AI推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
SEO优化<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
技术百科<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
谷歌推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
百度推广<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
网络营销<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
案例网站<?muma echo $count; ?>
】
<?muma
$count = M('archives')->where(['typeid'=>$field['id']])->count();
?>
【
精选文章<?muma echo $count; ?>
】
相关推荐
- Windows10系统怎么查看显卡驱动_Win10
- 如何使用Golang模拟请求超时_Golang c
- 如何用::实现单例模式_php静态方法与作用域操作
- Win10如何卸载预装Edge扩展_Win10卸载
- php怎么下载安装后设置错误日志_phpini l
- C++如何使用Qt创建第一个GUI窗口?(入门教程
- 为什么Go建议使用error接口作为错误返回_Go
- 如何在Golang中实现CI/CD流水线自动化测试
- Windows蓝屏错误0x0000001E怎么修复
- Python随机数生成_random模块说明【指导
- 如何使用Golang包导出规则_控制函数和变量可见
- c++中如何使用虚函数实现多态_c++多态性实现原
- Windows 11怎么设置默认解压软件_Wind
- Win11如何关闭游戏模式 Win11禁用Xbox
- Win10怎样安装Excel数据分析工具_Win1
- Python如何创建带属性的XML节点
- Python技术债务管理_长期维护解析【教程】
- Python数据挖掘核心算法实践_聚类分类与特征工
- Win11怎么查看已连接wifi密码 Win11查
- Win11怎么设置默认终端应用_Windows11
- Win11怎么激活Windows10_Win11激
- 如何在Golang中使用container/hea
- VSC怎么快速定位PHP错误行_错误追踪设置法【方
- 如何使用Golang配置安全开发环境_防止敏感信息
- windows 10应用商店区域怎么改_windo
- c++中的std::conjunction和std
- 如何在Golang中实现微服务服务拆分_Golan
- php怎么操作Redis_Redis扩展连接与基本
- Win11怎么关闭任务栏小图标_Windows11
- Windows系统文件被保护机制阻止怎么办_权限不
- c++怎么使用std::tuple存储多元组数据_
- Win11怎么设置任务栏大小_Windows11注
- php增删改查在php8里有什么变化_新特性对cu
- php中常量能用::访问吗_类常量与作用域操作符使
- Win10怎样卸载自带Edge_Win10卸载Ed
- PythonFastAPI项目实战教程_API接口
- 零基础学会Python自动化办公_高效处理Exce
- Windows10蓝屏代码DPC_WATCHDOG
- Python与Docker容器化部署实战_镜像构建
- c++中如何进行二进制文件读写_c++ read与
- 如何使用Golang优化模块引入路径_Golang
- Mac的访达(Finder)怎么用_Mac文件管理
- php控制舵机角度怎么调_php发送pwm信号控制
- Windows10无法连接到Internet_Wi
- LINUX怎么查看进程_LINUX ps命令查看运
- Go 中的 := 运算符:类型推导机制与使用边界详
- C++如何使用std::transform批量处理
- Win11如何暂停系统更新 Win11暂停更新最长
- Python迭代器生成器进阶教程_节省内存与懒加载
- 如何使用 Python 合并文件夹内多个 Exce

QQ客服