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
<!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