如何让 div 在网页中完美居中(水平+垂直)

发布时间 - 2025-12-26 00:00:00    点击率:

使用 flexbox 将 body 设为全高弹性容器,并设置 justify-content 和 align-items 均为 center,即可实现子元素在视口内绝对居中;需注意重置默认 margin、设置 height: 100vh,并避免嵌套 flex 居中导致的偏差。

要让一个

在整个网页中精确水平且垂直居中(即相对于视口中心),最简洁可靠的现代方案是利用 CSS Flexbox。关键在于:将根容器(通常是 body)配置为一个具有完整视口高度的弹性上下文,并启用双向居中

以下是推荐的完整实现:

* {
  margin: 0;
  padding: 0;
  box-sizing: border-box;
}

body {
  display: flex;
  justify-content: center; /* 水平居中 */
  align-items: center;     /* 垂直居中 */
  height: 100vh;           /* 占满整个视口高度 */
  margin: 0;               /* 清除浏览器默认 body 外边距 */
}

对应 HTML 结构保持不变,但需确保 .box 是 body 的直接子元素(如示例所示):


  
    
      

BLACKJACK

Want to play a round?

Cards:

Sum:

补充优化建议:

  • .box 中 width: max-content(而非 50vh)更利于内容自适应,配合 padding 提升可读性;
  • 移除 .box 自身的 display: flex(除非内部有复杂布局需求),避免冗余嵌套 flex 容器干扰居中逻辑;
  • 若页面存在滚动或动态内容,该方案仍能稳定工作——因为 100vh 基于当前视口,且 flex 居中不依赖绝对定位或 JS 计算。

✅ 总结:
核心三要素 = display: flex + justify-content: center + align-items: center + height: 100vh + margin: 0
这是目前兼容性好(支持所有现代浏览器及 IE11)、语义清晰、无需 JavaScript 的最优解。


# css  # javascript  # java  # html  # js  # 浏览器  # 垂直居中  # 绝对定位 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 北京网站制作的公司有哪些,北京白云观官方网站?  如何在自有机房高效搭建专业网站?  HTML5空格在Angular项目里怎么处理_Angular中空格的渲染问题【详解】  如何用搬瓦工VPS快速搭建个人网站?  ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法  深圳网站制作公司好吗,在深圳找工作哪个网站最好啊?  Laravel如何使用Service Container和依赖注入?(代码示例)  Laravel Artisan命令怎么自定义_创建自己的Laravel命令行工具完全指南  利用vue写todolist单页应用  宙斯浏览器怎么屏蔽图片浏览 节省手机流量使用设置方法  Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】  php嵌入式断网后怎么恢复_php检测网络重连并恢复硬件控制【操作】  网站建设保证美观性,需要考虑的几点问题!  Laravel策略(Policy)如何控制权限_Laravel Gates与Policies实现用户授权  Python自动化办公教程_ExcelWordPDF批量处理案例  Laravel怎么生成二维码图片_Laravel集成Simple-QrCode扩展包与参数设置【实战】  微信公众帐号开发教程之图文消息全攻略  Laravel中的withCount方法怎么高效统计关联模型数量  Laravel的Blade指令怎么自定义_创建你自己的Laravel Blade Directives  Laravel怎么实现模型属性转换Casting_Laravel自动将JSON字段转为数组【技巧】  Midjourney怎样加参数调细节_Midjourney参数调整技巧【指南】  如何用y主机助手快速搭建网站?  Angular 表单中正确绑定输入值以确保提交与验证正常工作  Android中Textview和图片同行显示(文字超出用省略号,图片自动靠右边)  详解免费开源的.NET多类型文件解压缩组件SharpZipLib(.NET组件介绍之七)  Laravel项目结构怎么组织_大型Laravel应用的最佳目录结构实践  夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化  通义万相免费版怎么用_通义万相免费版使用方法详细指南【教程】  如何快速上传自定义模板至建站之星?  Laravel如何实现全文搜索_Laravel Scout集成Algolia或Meilisearch教程  如何快速启动建站代理加盟业务?  google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤  如何用AI帮你把自己的生活经历写成一个有趣的故事?  网站制作大概多少钱一个,做一个平台网站大概多少钱?  Laravel Blade模板引擎语法_Laravel Blade布局继承用法  高端网站建设与定制开发一站式解决方案 中企动力  如何用PHP工具快速搭建高效网站?  Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧  Laravel如何实现用户密码重置功能?(完整流程代码)  Laravel Sail是什么_基于Docker的Laravel本地开发环境Sail入门  Laravel辅助函数有哪些_Laravel Helpers常用助手函数大全  php8.4header发送头信息失败怎么办_php8.4header函数问题解决【解答】  html5的keygen标签为什么废弃_替代方案说明【解答】  如何获取PHP WAP自助建站系统源码?  Laravel怎么实现API接口鉴权_Laravel Sanctum令牌生成与请求验证【教程】  公司门户网站制作流程,华为官网怎么做?  Python结构化数据采集_字段抽取解析【教程】  java中使用zxing批量生成二维码立牌  详解Oracle修改字段类型方法总结  Laravel如何使用Passport实现OAuth2?(完整配置步骤)