使用 place-content: center 的全宽 CSS 网格项
P粉245003607
P粉245003607 2023-09-05 17:54:47
[CSS3讨论组]

我使用 CSS 网格的 place-content: center 将 div 在固定容器中垂直和水平居中,如下所示:

.outer {
  position: fixed;
  inset: 0;
  background: black;
  display: grid;
  place-content: center;
}
.inner {
  padding: 30px;
  background: white;
  width: 100%;
  max-width: 500px;
}
<div class="outer">
<div class="inner">Some content here</div>
</div>

我希望内部 div 为全宽,最大宽度为 500px,但它似乎没有像我期望的那样尊重 width: 100% 属性。

有人可以解释为什么会发生这种情况以及如何解决它,如果可能的话保持网格实现(我知道有其他方法可以将这样的事情居中,但出于好奇,我想尝试让这种方法发挥作用比什么都重要!)

P粉245003607
P粉245003607

全部回复(2)
P粉478188786

您可以使用 flex 代替 grid,这样您就可以非常轻松地做到这一点。

.outer {
  position: fixed;
  width: 100%;
  height: 100%;
  background: black;
  display: flex;
  justify-content: center;
  align-items: center;
}

.inner {
  padding: 30px;
  background: white;
  width: 100%;
}
<div class="outer">
  <div class="inner">Some content here</div>
</div>
P粉020085599

您可以在网格项上使用 place-self,而不是使用 place-content

.outer {
  position: fixed;
  inset: 0;
  background: black;
  display: grid;
}

.inner {
  padding: 30px;
  background: white;
  width: 100%;
  max-width: 500px;
  place-self: center;
}
<div class="outer">
  <div class="inner">Some content here</div>
</div>
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新 English
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送
PHP中文网APP
随时随地碎片化学习

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