0

0

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

心靈之曲

心靈之曲

发布时间:2025-12-26 23:35:02

|

496人浏览过

|

来源于php中文网

原创

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

本文详解使用 flexbox 实现 div 在整个视口内精确水平垂直居中的标准方法,重点解决因 body 高度缺失或 flex 属性不完整导致的居中失效问题,并提供可直接运行的 csshtml 示例。

要让一个

在整个网页(即浏览器视口)中真正居中——既水平居中、又垂直居中——关键在于:父容器(通常是 body)必须具备明确的高度上下文,且需同时启用 justify-content: center 和 align-items: center

你原代码中仅对 body 设置了 display: flex 和 justify-content: center,但缺少两个核心要素:

  • align-items: center(控制垂直居中);
  • height: 100vh(确保 body 占满整个视口高度;否则其高度由内容决定,flex 垂直居中将无效)。

此外,建议重置默认 margin: 0,避免浏览器默认样式干扰布局。

✅ 正确做法如下:

火山方舟
火山方舟

火山引擎一站式大模型服务平台,已接入满血版DeepSeek

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

.box {
  display: flex;
  justify-content: center;
  align-items: center;
  border: 5px solid black;
  padding: 1em 2em;
  width: max-content;            /* 自适应宽度,避免固定宽高导致溢出或变形 */
  /* height: auto; 已是默认值,可省略 */
}

.content {
  display: flex;
  flex-direction: column;
  align-items: center;
}

.buttons {
  display: flex;
  padding: 10px;
  margin-top: 10px;
}

对应 HTML 结构保持不变,但请确保 .box 直接位于

下(如示例所示),以保证 flex 上下文链路完整:
<body>
  <div class="box">
    <div class="content">
      <h1 class="header">BLACKJACK</h1>
      <p id="message-el" class="message">Want to play a round?</p>
      <p id="cards-el" class="cards">Cards:</p>
      <p id="sum-el" class="sum">Sum:</p>
      <div class="buttons">
        <button id="button-start-el" class="button-start">START GAME</button>
        <button id="button-draw-el" class="button-draw">DRAW CARD</button>
        <button id="button-new-el" class="button-new">NEW GAME</button>
      </div>
    </div>
  </div>
  <script src="/js/javascript.js"></script>
</body>

⚠️ 注意事项:

  • 不要给 .box 设置 height: 100vh 或固定高度(除非有特殊需求),否则可能遮挡内容或破坏自适应;
  • 若页面需滚动,而你仍希望 .box 始终视口居中(非文档流居中),应改用 position: fixed + transform: translate(-50%, -50%) 方案;
  • width: max-content 比 50vh 更安全,避免小屏设备下内容换行异常;如需约束最大宽度,可叠加 max-width: 90vw。

该方案兼容所有现代浏览器(Chrome、Firefox、Safari、Edge ≥12),简洁、可靠、语义清晰,是目前实现块级元素视口居中的推荐实践。

热门AI工具

更多
DeepSeek
DeepSeek

幻方量化公司旗下的开源大模型平台

豆包大模型
豆包大模型

字节跳动自主研发的一系列大型语言模型

通义千问
通义千问

阿里巴巴推出的全能AI助手

腾讯元宝
腾讯元宝

腾讯混元平台推出的AI助手

文心一言
文心一言

文心一言是百度开发的AI聊天机器人,通过对话可以生成各种形式的内容。

讯飞写作
讯飞写作

基于讯飞星火大模型的AI写作工具,可以快速生成新闻稿件、品宣文案、工作总结、心得体会等各种文文稿

即梦AI
即梦AI

一站式AI创作平台,免费AI图片和视频生成。

ChatGPT
ChatGPT

最最强大的AI聊天机器人程序,ChatGPT不单是聊天机器人,还能进行撰写邮件、视频脚本、文案、翻译、代码等任务。

相关专题

更多
chrome什么意思
chrome什么意思

chrome是浏览器的意思,由Google开发的网络浏览器,它在2008年首次发布,并迅速成为全球最受欢迎的浏览器之一。本专题为大家提供chrome相关的文章、下载、课程内容,供大家免费下载体验。

1020

2023.08.11

chrome无法加载插件怎么办
chrome无法加载插件怎么办

chrome无法加载插件可以通过检查插件是否已正确安装、禁用和启用插件、清除插件缓存、更新浏览器和插件、检查网络连接和尝试在隐身模式下加载插件方法解决。更多关于chrome相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

817

2023.11.06

edge是什么浏览器
edge是什么浏览器

Edge是一款由Microsoft开发的网页浏览器,是Windows 10操作系统中默认的浏览器,其目标是提供更快、更安全、更现代化的浏览器体验。本专题为大家提供edge浏览器相关的文章、下载、课程内容,供大家免费下载体验。

1665

2023.08.21

IE浏览器自动跳转EDGE如何恢复
IE浏览器自动跳转EDGE如何恢复

ie浏览器自动跳转edge的解决办法:1、更改默认浏览器设置;2、阻止edge浏览器的自动跳转;3、更改超链接的默认打开方式;4、禁用“快速网页查看器”;5、卸载edge浏览器;6、检查第三方插件或应用程序等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

395

2024.03.05

如何解决Edge打开但没有标题的问题
如何解决Edge打开但没有标题的问题

若 Microsoft Edge 浏览器打开后无标题(窗口空白或标题栏缺失),可尝试以下方法解决: 重启 Edge:关闭所有窗口,重新启动浏览器。 重置窗口布局:右击任务栏 Edge 图标 → 选择「最大化」或「还原」。 禁用扩展:进入 edge://extensions 临时关闭插件测试。 重置浏览器设置:前往 edge://settings/reset 恢复默认配置。 更新或重装 Edge:检查最新版本,或通过控制面板修复

1025

2025.04.24

CSS position定位有几种方式
CSS position定位有几种方式

有4种,分别是静态定位、相对定位、绝对定位和固定定位。更多关于CSS position定位有几种方式的内容,可以访问下面的文章。

83

2023.11.23

margin在css中是啥意思
margin在css中是啥意思

在CSS中,margin是一个用于设置元素外边距的属性。想了解更多margin的相关内容,可以阅读本专题下面的文章。

462

2023.12.18

flex教程
flex教程

php中文网为大家带来了flex教程合集,Flex是采用Flex布局的元素,称为Flex容器(flex container),简称"容器",它的所有子元素自动成为容器成员,有三个核心概念: flex项,需要布局的元素;flex容器,其包含flex项;排列方向,这决定了flex项的布局方向。php中文网还为大家带来flex的相关下载资源、相关课程以及相关文章等内容,供大家免费下载使用。

368

2023.06.14

AI安装教程大全
AI安装教程大全

2026最全AI工具安装教程专题:包含各版本AI绘图、AI视频、智能办公软件的本地化部署手册。全篇零基础友好,附带最新模型下载地址、一键安装脚本及常见报错修复方案。每日更新,收藏这一篇就够了,让AI安装不再报错!

0

2026.03.04

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Sass 教程
Sass 教程

共14课时 | 0.9万人学习

Bootstrap 5教程
Bootstrap 5教程

共46课时 | 3.5万人学习

CSS教程
CSS教程

共754课时 | 39.3万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号