Свойство align-self задает выравнивание вдоль поперечной оси для отдельно взятого flex-блока. По сути align-self - это свойство align-items, но для конкретного блока.

Применяется к: конкретному flex блоку.

См. все flexbox свойства: flex-direction, justify-content, align-items, flex-wrap, flex-flow, align-self, order, flex-basis, flex-grow, flex-shrink, flex.

Синтаксис

селектор {
	align-self: auto | flex-start | flex-end | center | baseline | stretch;
}

Значения

Значение Описание
flex-start Блок прижат к началу поперечной оси.
flex-end Блок прижат к концу поперечной оси.
center Блок стоит по центру поперечной оси.
baseline Блок выравнивается по своей базовой линии. Базовая линия (англ. baseline, или линия шрифта) — это воображаемая линия, проходящая по нижнему краю символов без учета свисаний, например, как у букв 'ц', 'д', 'р', 'щ'.
stretch Блок растянут, занимая все доступное место по поперечной оси, при этом все же учитываются min-width и max-width, если они заданы. Если же задана ширина и высота для элемента - stretch будет проигнорирован.
auto Блок будет выровнен так, как задано в свойстве align-items.

Значение по умолчанию: auto.

Примеры

Пример . Значение stretch

В данном примере всем блокам задано значение flex-start (свойство align-items), а третьему блоку - align-self: stretch:

<div id="parent">
	<div>1</div>
	<div>2</div>
	<div id="elem">3</div>
	<div>4</div>
	<div>5</div>
</div>
#parent {
	align-items: flex-start;
	flex-direction: row;
	display: flex;
}
#parent > div {
	border: 1px solid #696989;
	min-width: 100px;
}
#elem {
	align-self: stretch;
}

Результат выполнения кода:

1
2
3 align-self: stretch
4
5

Пример . Значение flex-end

В данном примере всем блокам задано значение flex-start (свойство align-items), а третьему блоку - align-self: flex-end:

<div id="parent">
	<div>1</div>
	<div>2</div>
	<div id="elem">3</div>
	<div>4</div>
	<div>5</div>
</div>
#parent {
	align-items: flex-start;
	flex-direction: row;
	display: flex;
}
#parent > div {
	border: 1px solid #696989;
	min-width: 100px;
}
#elem {
	align-self: flex-end;
}

Результат выполнения кода:

1
2
3 align-self: flex-end
4
5