使用 place-content: center 的全寬 CSS 網格項
P粉245003607
P粉245003607 2023-09-05 17:54:47
0
2
488
<p>我使用 CSS 網格的 <code>place-content: center</code> 將 div 在固定容器中垂直和水平居中,如下所示:</p> <p> <pre class="brush:css;toolbar:false;">.outer { position: fixed; inset: 0; background: black; display: grid; place-content: center; } .inner { padding: 30px; background: white; width: 100%; max-width: 500px; }</pre> <pre class="brush:html;toolbar:false;"><div class="outer"> <div class="inner">Some content here</div> </div></pre> </p> <p>我希望內部 div 為全寬,最大寬度為 500px,但它似乎沒有像我期望的那樣尊重 <code>width: 100%</code> 屬性。 </p> <p>有人可以解釋為什麼會發生這種情況以及如何解決它,如果可能的話保持網格實現(我知道有其他方法可以將這樣的事情居中,但出於好奇,我想嘗試讓這種方法發揮作用比什麼都重要!)</p>
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>
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板