align-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 align-self CSS Eigenschaft überschreibt den Wert von align-items eines Gitters oder Flex-Elements. Im Gitter richtet es das Element innerhalb des Gitterbereichs aus. Im Flexbox-Kontext richtet es das Element entlang der Cross-Achse aus.
Probieren Sie es aus
align-self: stretch;
align-self: center;
align-self: start;
align-self: end;
<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: 200px;
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;
}
Diese Eigenschaft gilt nicht für Block-Level-Boxen oder für Tabellenzellen. Wenn der Kreuzachsenrand eines Flexbox-Elements auto ist, wird align-self ignoriert.
Syntax
/* Keyword values */
align-self: auto;
align-self: normal;
/* Positional alignment */
/* align-self does not take left and right values */
align-self: center; /* Put the item around the center */
align-self: start; /* Put the item at the start */
align-self: end; /* Put the item at the end */
align-self: self-start; /* Align the item flush at the start */
align-self: self-end; /* Align the item flush at the end */
align-self: flex-start; /* Put the flex item at the start */
align-self: flex-end; /* Put the flex item at the end */
align-self: anchor-center;
/* Baseline alignment */
align-self: baseline;
align-self: first baseline;
align-self: last baseline;
align-self: stretch; /* Stretch 'auto'-sized items to fit the container */
/* Overflow alignment */
align-self: safe center;
align-self: unsafe center;
/* Global values */
align-self: inherit;
align-self: initial;
align-self: revert;
align-self: revert-layer;
align-self: unset;
Werte
auto-
Berechnet sich zum
align-itemsWert des übergeordneten Elements. normal-
Die Wirkung dieses Schlüsselworts hängt vom Layout-Modus ab:
- In absolut positionierten Layouts verhält sich das Schlüsselwort wie
startauf ersetzten absolut positionierten Boxen und wiestretchauf allen anderen absolut positionierten Boxen. - In der statischen Position von absolut positionierten Layouts verhält sich das Schlüsselwort wie
stretch. - Bei Flex-Elementen verhält sich das Schlüsselwort wie
stretch. - Bei Gitterelementen 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, wo es sich wiestartverhält. - Die Eigenschaft gilt nicht für Block-Level-Boxen und Tabellenzellen.
- In absolut positionierten Layouts verhält sich das Schlüsselwort wie
self-start-
Richtet die Elemente bündig mit dem Rand des Ausrichtungscontainers aus, der der Startseite des Elements auf der Kreuzachse entspricht.
self-end-
Richtet die Elemente bündig mit dem Rand des Ausrichtungscontainers aus, der der Endseite des Elements auf der Kreuzachse entspricht.
flex-start-
Der Kreuzstart-Rand des Flex-Elements ist bündig mit dem Kreuzstart-Rand der Linie.
flex-end-
Der Kreuzend-Rand des Flex-Elements ist bündig mit dem Kreuzend-Rand der Linie.
center-
Die Randbox 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 überfließen.
baseline,first baseline,last baseline-
Gibt die Teilnahme an der Ausrichtung der ersten oder letzten Basislinie an: richtet die Basislinie der Ausrichtung der Box's ersten oder letzten Basislinie mit der entsprechenden Basislinie in der gemeinsamen ersten oder letzten Basisliniensatz aller Boxen in ihrer Basislinien-Gruppe aus. Die Rückfallausrichtung für
first baselineiststart, die fürlast baselineistend. stretch-
Wenn die Kreuzgröße des Elements
autoist, wird die verwendete Größe auf die Länge gesetzt, die erforderlich ist, um den Container so weit wie möglich zu füllen, wobei die Größenbeschränkungen des Elements respektiert werden. Wenn das Element nicht automatisch dimensioniert ist, fällt dieser Wert aufflex-startzurück, und aufself-startoderself-end, wenn das Container'salign-contentfirst baseline(oderbaseline) oderlast baselineist. anchor-center-
Im Fall von ankerpositionierten Elementen, richtet das Element zum Zentrum des zugehörigen Ankerelements in der Blockrichtung aus. Siehe Zentrieren auf den Anker mit
anchor-center. safe-
Wenn die Größe des Elements den Ausrichtungscontainer überläuft, wird das Element stattdessen so ausgerichtet, als ob der Ausrichtungsmodus
startwäre. unsafe-
Unabhängig von den relativen Größen des Elements und des Ausrichtungscontainers wird der gegebene Ausrichtungswert beibehalten.
Formale Definition
| Anfangswert | auto |
|---|---|
| Anwendbar auf | flex items, grid items, and absolutely-positioned boxes |
| Vererbt | Nein |
| Berechneter Wert | auto berechnet sich zu sich selbst bei absolut positionierten Elementen und zum berechneten Wert von align-items des Elternelements (abzüglich veralteter Schlüsselwörter) bei allen anderen Boxen oder start, falls die Box kein Elternelement hat. Sein Verhalten hängt vom Layoutmodell ab, wie für justify-self beschrieben. Ansonsten der angegebene Wert. |
| Animationstyp | diskret |
Formale Syntax
align-self =
auto |
normal |
stretch |
<baseline-position> |
<overflow-position>? <self-position> |
anchor-center |
dialog
<baseline-position> =
[ first | last ]? &&
baseline
<overflow-position> =
unsafe |
safe
<self-position> =
center |
start |
end |
self-start |
self-end |
flex-start |
flex-end
Beispiele
>HTML
<section>
<div>Item #1</div>
<div>Item #2</div>
<div>Item #3</div>
</section>
CSS
section {
display: flex;
align-items: center;
height: 120px;
background: beige;
}
div {
height: 60px;
background: cyan;
margin: 5px;
}
div:nth-child(3) {
align-self: flex-end;
background: pink;
}
Ergebnis
Spezifikationen
| Specification |
|---|
| CSS Box Alignment Module Level 3> # align-self-property> |
| CSS Flexible Box Layout Module Level 1> # align-items-property> |
Browser-Kompatibilität
Loading…