Dieser Inhalt wurde automatisch aus dem Englischen übersetzt, und kann Fehler enthalten.Erfahre mehr über dieses Experiment.
place-self
Baseline Widely available *
This feature is well established and works across many devices and browser versions. It’s been available across browsers since Januar 2020.
* Some parts of this feature may have varying levels of support.
Dieplace-selfCSSKurzschreibweise ermöglicht es Ihnen, ein einzelnes Element sowohl in Block- als auch in Inline-Richtung gleichzeitig auszurichten (d.h. die Eigenschaftenalign-self undjustify-self). Diese Eigenschaft gilt für Block-Level-Boxen, absolut positionierte Boxen und Grid-Elemente. Wenn der zweite Wert nicht vorhanden ist, wird der erste Wert auch für ihn verwendet.
In diesem Artikel
Probieren Sie es aus
place-self: stretch center;place-self: center start;place-self: start end;place-self: end center;<section> <div> <div>One</div> <div>Two</div> <div>Three</div> </div></section>.example-container { border: 1px solid #c5c5c5; display: grid; width: 220px; grid-template-columns: 1fr 1fr; grid-auto-rows: 80px; grid-gap: 10px;}.example-container > div { background-color: rgb(0 0 255 / 0.2); border: 3px solid blue;}Bestandteil-Eigenschaften
Diese Eigenschaft ist eine Kurzschreibweise für die folgenden CSS-Eigenschaften:
Syntax
/* Positional alignment */place-self: auto center;place-self: normal start;place-self: center normal;place-self: start auto;place-self: end normal;place-self: self-start auto;place-self: self-end normal;place-self: flex-start auto;place-self: flex-end normal;place-self: anchor-center;/* Baseline alignment */place-self: baseline normal;place-self: first baseline auto;place-self: last baseline normal;place-self: stretch auto;/* Global values */place-self: inherit;place-self: initial;place-self: revert;place-self: revert-layer;place-self: unset;Werte
autoBewertet den übergeordneten Wert von
align-items.normalDer Effekt dieses Schlüsselwortes hängt vom Layoutmodus ab, in dem wir uns befinden:
- In absolut positionierten Layouts verhält sich das Schlüsselwort wie
startbeiersetzten absolut positionierten Boxen und wiestretchbeiallen anderen absolut positionierten Boxen. - In der statischen Position von absolut positionierten Layouts verhält sich das Schlüsselwort wie
stretch. - Für Flex-Elemente verhält sich das Schlüsselwort wie
stretch. - Für Grid-Elemente führt dieses Schlüsselwort zu einem Verhalten, das dem von
stretchähnelt, außer bei Boxen mit einemSeitenverhältnis oder einer intrinsischen Größe, wo es wiestartwirkt. - Die Eigenschaft gilt nicht für Block-Level-Boxen und Tabellzellen.
- In absolut positionierten Layouts verhält sich das Schlüsselwort wie
self-startRichtet die Elemente so aus, dass sie bündig mit dem Rand des Ausrichtungscontainers an der Startseite des Elements in der Kreuzachse sind.
self-endRichtet die Elemente so aus, dass sie bündig mit dem Rand des Ausrichtungscontainers an der Endseite des Elements in der Kreuzachse sind.
flex-startDer cross-start Ränderand des Flex-Elements ist bündig mit dem cross-start Rand der Linie.
flex-endDer cross-end Ränderand des Flex-Elements ist bündig mit dem cross-end Rand der Linie.
centerDie Margin-Box des Flex-Elements ist innerhalb der Linie auf der Kreuzachse zentriert. Wenn die Kreuzgröße des Elements größer als der Flex-Container ist, wird es in beide Richtungen gleichmäßig überlaufen.
baseline,first baseline,last baselineGibt die Teilnahme an der ersten oder letzten Basislinienausrichtung an: richtet die Ausrichtungsbasislinie des ersten oder letzten Basisliniensatzes der Box mit der entsprechenden Basislinie im gemeinsamen ersten oder letzten Basisliniensatz aller Boxen in seiner Basislinien-Sharing-Gruppe aus.Die Rückfallausrichtung für
first baselineiststart, die fürlast baselineistend.stretchWenn die kombinierte Größe der Elemente entlang der Kreuzachse kleiner als die Größe des Ausrichtungscontainers ist und das Element
auto-größenangepasst ist, wird seine Größe gleichmäßig (nicht proportional) erhöht, wobei die durchmax-height/max-width(oder gleichwertige Funktionalität) auferlegten Einschränkungen respektiert werden, so dass die kombinierte Größe allerauto-größenangepassten Elemente den Ausrichtungscontainer entlang der Kreuzachse genau ausfüllt.anchor-centerIm Falle vonankerpositionierten Elementen richtet das Element in der Block- und Inline-Richtung in der Mitte des zugehörigen Ankerelements aus. SieheZentrieren auf dem Anker mit
anchor-center.
Formale Definition
| Anfangswert | wie die jeweiligen Kurzschreibweisen:
|
|---|---|
| Anwendbar auf | block-level boxes, absolutely-positioned boxes, and grid items |
| Vererbt | Nein |
| Berechneter Wert | wie die jeweiligen Kurzschreibweisen:
|
| Animationstyp | diskret |
Formale Syntax
place-self =
<'align-self'><'justify-self'>?
<align-self> =
auto|
<overflow-position>?[normal|<self-position>]|
stretch|
<baseline-position>|
anchor-center
<justify-self> =
auto|
<overflow-position>?[normal|<self-position>|left|right]|
stretch|
<baseline-position>|
anchor-center
<overflow-position> =
unsafe|
safe
<self-position> =
center|
start|
end|
self-start|
self-end|
flex-start|
flex-end
<baseline-position> =
[first|last]?&&
baseline
Beispiele
>Grundlegende Demonstration
Im folgenden Beispiel haben wir ein 2 x 2 Grid-Layout. Zunächst hat der Grid-Container die Wertejustify-items undalign-itemsstretch — die Standardeinstellungen — was bewirkt, dass sich die Grid-Elemente über die gesamte Breite ihrer Zellen erstrecken.
Den zweiten, dritten und vierten Grid-Elementen werden dann unterschiedliche Werte vonplace-self zugewiesen, um zu zeigen, wie diese die Standardplatzierungen überschreiben. Diese Werte bewirken, dass die Grid-Elemente nur so breit/hoch wie ihre Inhaltshöhe/-breite spannen und in unterschiedlichen Positionen über ihre Zellen hinweg ausgerichtet sind, in Block- und Inline-Richtung.
HTML
<article> <span>First</span> <span>Second</span> <span>Third</span> <span>Fourth</span></article>CSS
html { font-family: "Helvetica", "Arial", sans-serif; letter-spacing: 1px;}article { background-color: red; display: grid; grid-template-columns: 1fr 1fr; grid-auto-rows: 80px; grid-gap: 10px; margin: 20px; width: 300px;}span:nth-child(2) { place-self: start center;}span:nth-child(3) { place-self: center start;}span:nth-child(4) { place-self: end;}article span { background-color: black; color: white; margin: 1px; text-align: center;}article,span { padding: 10px; border-radius: 7px;}Ergebnis
Spezifikationen
| Specification |
|---|
| CSS Box Alignment Module Level 3> # place-self-property> |