Свойство CSS `place-self`
Базовая поддержка Широко доступно
Эта функция хорошо зарекомендовала себя и работает на многих устройствах и во многих версиях браузеров. Она доступна во всех браузерах с сентября 2015 года.
place-self — CSS-сокращённое свойство, которое позволяет одновременно выравнивать отдельный элемент по блочной и строчной осям (то есть задаёт свойства align-self и justify-self). Это свойство применяется к блочным контейнерам, абсолютно позиционированным контейнерам и элементам сетки. Если второе значение не указано, для него также используется первое значение.
Попробуйте
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: rgb(0 0 255 / 0.2);
border: 3px solid blue;
}
Составные свойства
Это свойство является сокращённой записью следующих свойств CSS:
Синтаксис
/* 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;
Значения
Для этого свойства задаётся одно или два из следующих ключевых значений:
-
auto - Вычисляется в значение свойства
align-itemsродительского элемента. -
normal - Эффект этого ключевого слова зависит от используемого режима компоновки:
- В абсолютно позиционированных компоновках ключевое слово действует как
startдля замещаемых абсолютно позиционированных контейнеров и какstretchдля всех остальных абсолютно позиционированных контейнеров. - В статической позиции абсолютно позиционированных компоновок ключевое слово действует как
stretch. - Для flex-элементов ключевое слово действует как
stretch. - Для элементов сетки это ключевое слово приводит к поведению, аналогичному
stretch, за исключением контейнеров с соотношением сторон или внутренним размером, для которых оно действует какstart. - Свойство не применяется к блочным контейнерам и ячейкам таблиц.
- В абсолютно позиционированных компоновках ключевое слово действует как
-
self-start - Выравнивает элементы так, чтобы они примыкали к краю контейнера выравнивания, соответствующему начальной стороне элемента по поперечной оси.
-
self-end - Выравнивает элементы так, чтобы они примыкали к краю контейнера выравнивания, соответствующему конечной стороне элемента по поперечной оси.
-
flex-start - Край поперечного начального поля flex-элемента примыкает к начальному краю поперечной оси строки.
-
flex-end - Край поперечного конечного поля flex-элемента примыкает к конечному краю поперечной оси строки.
-
center - Поле flex-элемента центрируется внутри строки по поперечной оси. Если поперечный размер элемента больше размера flex-контейнера, он будет выходить за его пределы в обе стороны на одинаковое расстояние.
-
baseline,first baseline.last baseline - Задаёт участие в выравнивании по первой или последней базовой линии: выравнивает базовую линию первого или последнего набора базовых линий контейнера с соответствующей базовой линией в общем первом или последнем наборе базовых линий всех контейнеров в группе совместного использования базовых линий. Резервным выравниванием для
first baselineявляетсяstart, а дляlast baseline—end. -
stretch - Если суммарный размер элементов вдоль поперечной оси меньше размера контейнера выравнивания, а размер элемента задан как
auto, его размер увеличивается равномерно (не пропорционально) с учётом ограничений, заданных свойствамиmax-height/max-width(или эквивалентными средствами), так что суммарный размер всех элементов с размеромautoточно заполняет контейнер выравнивания вдоль поперечной оси. -
anchor-center - Для элементов, позиционируемых относительно якоря, выравнивает элемент по центру связанного якорного элемента в блочном и строчном направлениях. См. раздел «Центрирование относительно якоря с помощью
anchor-center».
Формальное определение
| Начальное значение | как у каждого из свойств сокращённой записи: |
|---|---|
| Применяется к | блочным контейнерам, абсолютно позиционированным контейнерам и элементам сетки |
| Наследуется | нет |
| Вычисленное значение | как у каждого из свойств сокращённой записи: |
| Тип анимации | дискретный |
Формальный синтаксис
place-self =
<'align-self'> <'justify-self'>?
Примеры
Базовый пример
В следующем примере используется сетка размером 2 x 2. Изначально для контейнера сетки заданы значения justify-items и align-items stretch — значения по умолчанию, из-за которых элементы сетки растягиваются на всю ширину своих ячеек.
Для второго, третьего и четвёртого элементов сетки затем задаются разные значения place-self, чтобы показать, как они переопределяют размещение по умолчанию. Эти значения приводят к тому, что элементы сетки занимают только ширину и высоту своего содержимого и выравниваются в разных позициях внутри своих ячеек по блочному и строчному направлениям.
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;
}
Результат
Спецификации
Совместимость с браузерами
| Компьютеры | Мобильные устройства | |||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Chrome | Edge | Firefox | Opera | Safari | Chrome Android | Firefox для Android | Opera Android | Safari на iOS | Samsung Internet | WebView Android | WebView на iOS | |
place-self |
59 |
79 |
45 |
46 |
11 |
59 |
45 |
43 |
11 |
7.0 |
59 |
11 |
anchor-center |
125 |
125 |
147 |
111 |
26 |
125 |
147 |
83 |
26 |
27.0 |
125 |
26 |
flex_context |
59 |
79 |
45 |
46 |
11 |
59 |
45 |
43 |
11 |
7.0 |
59 |
11 |
grid_context |
59 |
79 |
45 |
46 |
11 |
59 |
45 |
43 |
11 |
7.0 |
59 |
11 |
position_absolute_context |
122 |
122 |
134 |
108 |
26 |
122 |
134 |
81 |
26 |
26.0 |
122 |
26 |
См. также
align-selfjustify-self- Основные понятия flexbox
- Выравнивание элементов во flex-контейнере
- Выравнивание блоков в сеточной компоновке
- Модуль выравнивания блоков CSS
© 2005–2025 MDN contributors.
Licensed under the Creative Commons Attribution-ShareAlike License v2.5 or later.
https://developer.mozilla.org/en-US/docs/Web/CSS/Reference/Properties/place-self