html.okpython.net
Основы создания сайтов
CSS :: Свойство align-self
css-свойство align-self (от англ. align self – выровнять себя) используется для управления способом выравнивания отдельных флекс-элементов вдоль поперечной оси флекс-контейнера, переписывая при необходимости значение свойства align-items.
Следует отметить, что если будут заданы значения внешних отступов margin в направлении поперечной оси, то свойство align-self будет игнорироваться.
Характеристики
- Значение по умолчанию: auto.
- Применяется: к флекс-элементам.
- Наследуется: нет.
- Анимируется: нет.
- JavaScript: object.style.alignSelf="value".
Синтаксис
align-self: auto | flex-start | flex-end | center | baseline | stretch
Значения
- auto – используется значение свойства align-items для родительского флекс-контейнера или значение stretch, если родителя нет;
- flex-start – флекс-элементы выравниваются в начале поперечной оси флекс-контейнера;
- flex-end – флекс-элементы выравниваются в конце поперечной оси флекс-контейнера;
- center – флекс-элементы выравниваются по линии поперечной оси флекс-контейнера;
- baseline – флекс-элементы выравниваются по их базовой линии;
- stretch – флекс-элементы растягиваются таким образом, чтобы занять всё доступное пространство контейнера.
Ссылки
Официальный сайт W3C: https://www.w3.org/TR/css-flexbox/#propdef-align-self
Статья на Mozilla Firefox: https://developer.mozilla.org/ru/docs/Web/CSS/align-self
Подробнее о модуле Flexbox смотрите в нашем учебнике здесь.
Примеры
HTML
Результат
htmlCodes
htmlCodes
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Пример №1</title>
<style>
/* Оформляем родительские div'ы flex-элементов */
div{
display: flex;
width: 600px;
height: 100px;
margin: auto;
margin-top: 10px;
background-color: #DFDFDF;
border-radius: 5px;
}
/* Это общий стиль flex-элементов */
p{
width: 40px;
height: 40px;
padding: 10px;
background-color: #55aa55;
border-radius: 5px;
text-align: center;
font-weight: bold;
color: #F9F9F9;
}
/* Выравнивание всех флекс-элементов */
.div_flex{
align-items: center;
}
</style>
</head>
<body>
<!-- Выравнивание без переопределения -->
<div class="div_flex">
<p>1</p>
<p>2</p>
<p>3</p>
</div>
<!-- Используем для 2-х элементов align-self -->
<div class="div_flex">
<p style="align-self: flex-start">1</p>
<p>2</p>
<p style="align-self: flex-end">3</p>
</div>
</body>
</html>
Пример №1