Html Flexbox垂直和水平居中
我想在我的一个网页上有一个水平和垂直居中的内容。我是这样做的Html Flexbox垂直和水平居中,html,css,flexbox,Html,Css,Flexbox,我想在我的一个网页上有一个水平和垂直居中的内容。我是这样做的 <!DOCTYPE html> <html> <head> <title>Eko</title> <%= csrf_meta_tags %> <%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %
<!DOCTYPE html>
<html>
<head>
<title>Eko</title>
<%= csrf_meta_tags %>
<%= stylesheet_link_tag 'application', media: 'all', 'data-turbolinks-track': 'reload' %>
</head>
<body>
<div class="login-container">
<h1>Hello</h1>
</div>
<%= javascript_include_tag 'application', 'data-turbolinks-track': 'reload' %>
</body>
</html>
但是,垂直中心不会出现(只是水平中心)。
当我应用这个CSS时,它就工作了
body {
display: flex;
justify-content: center;
align-items: center;
}
为什么只有当我们把它应用到身体上时它才起作用 您的容器没有高度设置,因此它只使用内容所需的垂直空间,因此没有垂直居中。如果您将
height:100%
应用于它(以及body
以获得参考高度),它应该可以根据需要工作。此外,您必须为两个您的html和body标签都指定一个高度,例如:
html, body{
height: 100%;
}
因此,您的容器也是垂直居中的。谢谢!成功了。我可以假定
的默认高度为100%吗?
html, body{
height: 100%;
}