CSS-Rasterelemente in voller Breite mit place-content:center
P粉245003607
P粉245003607 2023-09-05 17:54:47
0
2
489
<p>Ich habe <code>place-content: center</code> von CSS Grid verwendet, um das Div vertikal und horizontal im festen Container zu zentrieren: </p> <p> <pre class="brush:css;toolbar:false;">.outer { Position: fest; Einschub: 0; Hintergrund: schwarz; Anzeige: Raster; Ortsinhalt: Mitte; } .innere { Polsterung: 30px; Hintergrund: weiß; Breite: 100 %; maximale Breite: 500 Pixel; }</pre> <pre class="brush:html;toolbar:false;"><div class="outer"> <div class="inner">Einige Inhalte hier</div> </div></pre> </p> <p>Ich möchte, dass das innere Div die volle Breite hat, mit einer maximalen Breite von 500 Pixeln, aber es scheint die Eigenschaft <code>width: 100%</code> nicht zu respektieren, wie ich erwartet habe. </p> <p> Kann jemand erklären, warum das passiert und wie man es beheben kann, wenn möglich, die Grid-Implementierung beibehalten (ich weiß, dass es andere Möglichkeiten gibt, so etwas zu zentrieren, aber aus Neugier wollte ich versuchen, dies zu tun. Eine Rolle zu spielen ist mehr wichtiger als alles andere)</p>
P粉245003607
P粉245003607

Antworte allen(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>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage