body上设置flex,无法让item上下左右居中?
html结构
<div class="outer">
<div class="inner">内容</div>
</div>
.outer通过flex定位后,可以让.inner实现上下左右居中。
.outer {
display: flex;
align-items: center;
justify-content: center;
width: 500px;
height: 300px;
border: 2px solid red;
}
.inner {
width: 100px;
height: 100px;
text-align:center;
border: 1px solid black;
}
.inner可以在.outer中上下左右居中,可以得出结论:flex可以让它的item项目(或者说子元素)居中,现在我对body设置flex,.outer是body的item项目吧。
.body{
display: flex;
align-items: center;
justify-content: center;
}
为何div.outer没有上下作用居中?(我知道,可以通过加设一个div.wrapper,通过margin让它们一起上下左右居中,这里的问题是为何body设了flex,不起作用?)
回复
1个回答

test
2024-07-12
首先,如果你提供的代码无误的话,那么你的 .body
是无效的,这是你误打了。
当 .body
纠正为 body
后,就完成了 div.outer
水平居中,但没有垂直居中,因为 <body>
没有自己的高度,都是由 div.outer
撑起的。
回复

适合作为回答的
- 经过验证的有效解决办法
- 自己的经验指引,对解决问题有帮助
- 遵循 Markdown 语法排版,代码语义正确
不该作为回答的
- 询问内容细节或回复楼层
- 与题目无关的内容
- “赞”“顶”“同问”“看手册”“解决了没”等毫无意义的内容