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 September 2015.
* Some parts of this feature may have varying levels of support.
Die place-self
CSS Kurzschreibweise ermöglicht es Ihnen, ein einzelnes Element gleichzeitig in Block- und Inline-Richtung auszurichten (d.h. die Eigenschaften align-self
und justify-self
). Diese Eigenschaft gilt für Block-Boxen, absolut positionierte Boxen und Grid-Elemente. Wenn der zweite Wert nicht vorhanden ist, wird auch der erste Wert dafür verwendet.
Probieren Sie es aus
place-self: stretch center;
place-self: center start;
place-self: start end;
place-self: end center;
<section class="default-example" id="default-example">
<div class="example-container">
<div class="transition-all" id="example-element">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: rgba(0, 0, 255, 0.2);
border: 3px solid blue;
}
Bestandteileigenschaften
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
auto
-
Wird auf den Wert von
align-items
des übergeordneten Elements berechnet. normal
-
Die Wirkung dieses Schlüsselworts hängt vom Layoutmodus ab, in dem wir uns befinden:
- In absolut positionierten Layouts verhält sich das Schlüsselwort wie
start
bei ersetzten absolut positionierten Boxen und wiestretch
bei allen 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 ähnlich dem von
stretch
, außer bei Boxen mit einem Seitenverhältnis oder einer intrinsischen Größe, bei denen es sich wiestart
verhält. - Die Eigenschaft gilt nicht für Block-Boxen und Tabellenelementzellen.
- In absolut positionierten Layouts verhält sich das Schlüsselwort wie
self-start
-
Richtet die Elemente so aus, dass sie bündig mit dem Rand des Ausrichtungscontainers liegen, der der Startseite des Elements in der Querachse entspricht.
self-end
-
Richtet die Elemente so aus, dass sie bündig mit dem Rand des Ausrichtungscontainers liegen, der der Endseite des Elements in der Querachse entspricht.
flex-start
-
Der Querstart-Margin-Rand des Flex-Elements ist bündig mit dem Querstart-Rand der Linie.
flex-end
-
Der Querend-Margin-Rand des Flex-Elements ist bündig mit dem Querend-Rand der Linie.
center
-
Der Margin-Box des Flex-Elements wird in der Querachse innerhalb der Linie zentriert. Wenn die Quergröße des Elements größer als der Flex-Container ist, wird es auf beiden Seiten gleichmäßig überlaufen.
baseline
,first baseline
,last baseline
-
Gibt die Teilnahme an der ersten oder letzten Basislinienausrichtung an: richtet die Ausrichtungsbasislinie des ersten oder letzten Basisliniensatzes der Box mit der entsprechenden Basislinie im geteilten ersten oder letzten Basisliniensatz aller Boxen in ihrer Basislinienbeteiligungsgruppe aus. Die Ausweichausrichtung für
first baseline
iststart
, die fürlast baseline
istend
. stretch
-
Wenn die kombinierte Größe der Elemente entlang der Querachse kleiner als die Größe des Ausrichtungscontainers ist und das Element
auto
-sized ist, wird seine Größe gleichmäßig (nicht proportional) erhöht, während die durchmax-height
/max-width
(oder gleichwertige Funktionalität) auferlegten Einschränkungen weiterhin respektiert werden, so dass die kombinierte Größe allerauto
-sized Elemente den Ausrichtungscontainer entlang der Querachse genau ausfüllt. anchor-center
-
Im Fall von anchor-positionierten Elementen richtet das Element im Block- und Inline-Bereich in der Mitte des zugehörigen Ankerelements aus. Siehe Zentrieren 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 |
normal |
stretch |
<baseline-position> |
<overflow-position>? <self-position> |
anchor-center
<justify-self> =
auto |
normal |
stretch |
<baseline-position> |
<overflow-position>? [ <self-position> | left | right ] |
anchor-center
<baseline-position> =
[ first | last ]? &&
baseline
<overflow-position> =
unsafe |
safe
<self-position> =
center |
start |
end |
self-start |
self-end |
flex-start |
flex-end
Beispiele
Grundlegende Demonstration
Im folgenden Beispiel haben wir ein 2 x 2 Grid-Layout. Anfänglich hat der Grid-Container justify-items
und align-items
Werte von stretch
— die Standardwerte —, die dazu führen, dass die Grid-Elemente sich über die gesamte Breite ihrer Zellen strecken.
Den zweiten, dritten und vierten Grid-Elementen werden dann unterschiedliche Werte von place-self
zugewiesen, um zu zeigen, wie diese die Standardplatzierungen überschreiben. Diese Werte bewirken, dass die Grid-Elemente nur so breit/hoch wie ihre Inhaltsbreite/-höhe sind und sich in verschiedenen Positionen über ihre Zellen hinweg ausrichten, sowohl in Block- als auch in Inline-Richtung.
HTML
<article class="container">
<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 |