鱼C论坛

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

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

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

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

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

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

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

这是你的代码,我已经为你修改好了:
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
        <title></title>
    </head>
    <body style="background-color: #0c85d0; display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0;">
        <div style="width: 500px; height: 500px; background-color: white; display: flex; justify-content: center; align-items: center;">
            <div style="width: 100px; height: 100px; background-color: blue;"></div>
        </div>
    </body>
</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没有子元素需要居中。


现在白色框和蓝色框都应该在页面垂直居中了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

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

这是你的代码,我已经为你修改好了:
<!DOCTYPE html>
<html lang="en">
    <head>
        <meta charset="utf-8" />
        <meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
        <title></title>
    </head>
    <body style="background-color: #0c85d0; display: flex; justify-content: center; align-items: center; height: 100vh; margin: 0;">
        <div style="width: 500px; height: 500px; background-color: white; display: flex; justify-content: center; align-items: center;">
            <div style="width: 100px; height: 100px; background-color: blue;"></div>
        </div>
    </body>
</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没有子元素需要居中。


现在白色框和蓝色框都应该在页面垂直居中了。
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

谢谢大佬指导
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

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

本版积分规则

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

GMT+8, 2024-11-24 14:38

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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