鱼C论坛

 找回密码
 立即注册
查看: 1336|回复: 2

[已解决]html垂直居中不了

[复制链接]
发表于 2023-4-7 11:11:58 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本人C++小白一枚,被迫学习前端,不懂网页为什么垂直居中不了,我也设置了宽高,百度了一堆方法也没用,好烦
包括白色框也要垂直居中
屏幕截图 2023-04-07 111120.png
  1. <!DOCTYPE html>
  2. <html lang="en">
  3.     <head>
  4.         <meta charset="utf-8" />
  5.         <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
  6.         <title></title>
  7.     </head>
  8.     <body style="background-color: #0c85d0">
  9.         <div style="width: 500px; height: 500px; background-color: white;">
  10.             <div style="width: 100px; height: 100px; background-color: blue; display: flex; justify-content: center; align-items: center">

  11.             </div>
  12.         </div>
  13.     </body>
  14. </html>
复制代码
最佳答案
2023-4-7 11:14:28
你想让这个白色的div和蓝色的div都在页面垂直居中对吗?如果是的话,你可以尝试将父div(白色框)的display设置为flex,并且使用justify-content和align-items属性实现垂直居中。

这是你的代码,我已经为你修改好了:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3.     <head>
  4.         <meta charset="utf-8" />
  5.         <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
  6.         <title></title>
  7.     </head>
  8.     <body style="background-color: #0c85d0; display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0;">
  9.         <div style="width: 500px; height: 500px; background-color: white; display: flex; justify-content: center; align-items: center;">
  10.             <div style="width: 100px; height: 100px; background-color: blue;"></div>
  11.         </div>
  12.     </body>
  13. </html>
复制代码


主要改动:

  • 给<body>标签添加了display: flex; justify-content: center; align-items: center;实现整个页面内容垂直居中。
  • 给<body>标签添加了height: 100vh;,以便占据整个视口高度。
  • 给<body>标签添加了margin: 0;,以去掉浏览器的默认外边距。
  • 删除了蓝色div的display: flex; justify-content: center; align-items: center;,因为蓝色div没有子元素需要居中。


现在白色框和蓝色框都应该在页面垂直居中了。
小甲鱼最新课程 -> https://ilovefishc.com
回复

使用道具 举报

发表于 2023-4-7 11:14:28 | 显示全部楼层    本楼为最佳答案   
你想让这个白色的div和蓝色的div都在页面垂直居中对吗?如果是的话,你可以尝试将父div(白色框)的display设置为flex,并且使用justify-content和align-items属性实现垂直居中。

这是你的代码,我已经为你修改好了:

  1. <!DOCTYPE html>
  2. <html lang="en">
  3.     <head>
  4.         <meta charset="utf-8" />
  5.         <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
  6.         <title></title>
  7.     </head>
  8.     <body style="background-color: #0c85d0; display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0;">
  9.         <div style="width: 500px; height: 500px; background-color: white; display: flex; justify-content: center; align-items: center;">
  10.             <div style="width: 100px; height: 100px; background-color: blue;"></div>
  11.         </div>
  12.     </body>
  13. </html>
复制代码


主要改动:

  • 给<body>标签添加了display: flex; justify-content: center; align-items: center;实现整个页面内容垂直居中。
  • 给<body>标签添加了height: 100vh;,以便占据整个视口高度。
  • 给<body>标签添加了margin: 0;,以去掉浏览器的默认外边距。
  • 删除了蓝色div的display: flex; justify-content: center; align-items: center;,因为蓝色div没有子元素需要居中。


现在白色框和蓝色框都应该在页面垂直居中了。
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2023-4-7 11:16:33 | 显示全部楼层
isdkz 发表于 2023-4-7 11:14
你想让这个白色的div和蓝色的div都在页面垂直居中对吗?如果是的话,你可以尝试将父div(白色框)的display ...

谢谢大佬指导
小甲鱼最新课程 -> https://ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-5-4 22:42

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表