Главная страница
Навигация по странице:

  • Расположение элементов flexbox

  • Выравнивание элементов flexbox

  • Flexbox Спецификация flexbox


    Скачать 444.24 Kb.
    НазваниеFlexbox Спецификация flexbox
    Дата21.09.2022
    Размер444.24 Kb.
    Формат файлаpdf
    Имя файлаFlexbox.pdf
    ТипДокументы
    #689860

    Flexbox

    Спецификация flexbox
    Раньше
    : макет для всех страниц HTML верстался с помощью таблиц, float и других свойств
    CSS, которые не очень хорошо подходят для стилизации сложных веб-страниц
    Сейчас
    : технология flexbox, которая легко позволяет создавать сложные и адаптивные веб- страницы
    CSS Flexbox (Flexible Box Layout Module) — модуль макета гибкого контейнера — представляет собой способ компоновки элементов, в основе лежит идея оси. Flexbox состоит из гибкого контейнера
    (flex container) и гибких элементов (flex items). Гибкие элементы могут выстраиваться в строку или столбик, а оставшееся свободное пространство распределяется между ними различными способами

    Спецификация flexbox
    Flexbox позволяет решать следующие задачи:
    • располагать элементы в одном из четырех направлений: слева направо, справа налево, сверху вниз или снизу вверх
    переопределять порядок отображения элементов
    • автоматически определять размеры элементов таким образом, чтобы они вписывались в доступное пространство
    • решать проблему с горизонтальным и вертикальным центрированием
    • переносить элементы внутри контейнера, не допуская его переполнения
    • создавать колонки одинаковой высоты

    Спецификация flexbox
    Основные понятия flexbox:
    • flex container (гибкий контейнер) - родительский элемент, у которого задано свойство display: flex. Внутри него располагаются flex-элементы
    • main axis (главная ось) - ось, которая проходит в том направлении, вдоль которого расположены flex элементы. Начало и конец этой оси - main start и main end
    • cross axis (поперечная ось) - ось, которая проходит перпендикулярно flex элементам
    . Начало и конец этой оси - cross start and cross end
    • flex items (гибкие элементы) - элементы, размещённые в flex контейнере как
    flex блоки

    Расположение элементов
    flexbox
    Порядок отображения элементов:
    Свойство
    flex-direction определяет направление главной оси (в каком направлении располагаются
    flexbox-дочерние элементы). Значения:
    row
    Направление слева направо. Flex-элементы выкладываются в строку
    (значение по умолчанию)
    row-reverse
    Направление справа налево. Flex-элементы выкладываются в строку относительно правого края контейнера column
    Направление сверху вниз. Flex-элементы выкладываются в колонку column-rev erse
    Колонка с элементами в обратном порядке, снизу вверх.

    Расположение элементов
    flexbox
    Управление многорстрочностью flex-контейнера:
    Свойство
    flex-wrap определяет, будет ли flex-контейнер однострочным или многострочным, а также задает направление поперечной оси, определяющее направление укладки новых линий flex-контейнера. Значения:
    nowrap
    Flex-элементы не переносятся, а располагаются в одну линию слева направо. (значение по умолчанию)
    wrap
    Flex-элементы переносятся, располагаясь в несколько горизонтальных рядов (если не помещаются в один ряд) в направлении слева направо wrap-revers e
    Flex-элементы переносятся на новые линии, располагаясь в обратном порядке слева-направо, при этом перенос происходит снизу вверх.

    Расположение элементов
    flexbox
    Краткая запись направления и многострочности:
    Свойство
    flex-flow позволяет определить направления главной и поперечной осей, а также возможность переноса
    flex-элементов при необходимости на несколько строк. Представляет собой сокращённую запись свойств
    flex-direction и flex-wrap.
    flex-flow: направление многострочность
    Значение по умолчанию: flex-flow: row nowrap

    Расположение элементов
    flexbox
    Порядок отображения flex-элементов:
    Свойство order определяет порядок, в котором flex-элементы отображаются и располагаются внутри flex- контейнера
    . Применяется к flex-элементам.
    Значение
    : целое число, отвечающее за порядок отображения flex-элементов (значения от -1 - элемент перемещается в начало строки, значение 1 — в конец )
    Значение по умолчанию: order: 0

    Расположение элементов
    flexbox
    Гибкость flex-элементов
    Гибкость
    - возможность изменять размеры flex-элементов так, чтобы элементы заполняли доступное пространство в основном измерении.
    Гибкие размеры задаются свойством flex
    flex: flex-grow flex-shrink flex-basis
    Значение по умолчанию: flex: 0 1 auto

    Расположение элементов
    flexbox
    Гибкость flex-элементов
    • Коэффициент роста - свойство flex-grow. Свойство определяет коэффициент роста одного flex-элемента относительно других flex-элементов в flex-контейнере при распределении положительного свободного пространства
    . Если сумма значений flex-grow flex-элементов в строке меньше 1, они занимают менее 100% свободного пространства
    Значение
    - положительное целое или дробное число, устанавливающее коэффициент роста flex-элемента.
    Значение по умолчанию: flex-grow: 0

    Расположение элементов
    flexbox
    Гибкость flex-элементов
    • Коэффициент сжатия - свойство flex-shrink. Свойство указывает коэффициент сжатия flex-элемента относительно других flex-элементов при распределении отрицательного свободного пространства.
    Умножается на базовый размер flex-basis. Отрицательное пространство распределяется пропорционально тому
    , насколько элемент может сжаться.
    Значение
    - Положительное целое или дробное число, устанавливающее коэффициент уменьшения flex- элемента
    Значение по умолчанию: flex-shrink: 1

    Расположение элементов
    flexbox
    Гибкость flex-элементов
    • Базовый размер - свойство flex-basis. Свойство устанавливает начальный основной размер flex-элемента до распределения свободного пространства в соответствии с коэффициентами гибкости.
    Возможные значения:
    - auto - элемент получает базовый размер, соответствующий размеру его содержимого, если он не задан явно
    - content - определяет базовый размер в зависимости от содержимого flex-элемента
    - длина (в единицах длины как width и height) - базовый размер определяется так же, как для ширины и высоты
    Значение по умолчанию: flex-basis: auto

    Выравнивание элементов
    flexbox
    Выравнивание по главной оси
    Свойство justify-content - выравнивает flex-элементы по главной оси flex-контейнера, распределяя свободное пространство
    , незанятое flex-элементами. Значения:
    flex-start
    Flex-элементы выкладываются в направлении, идущем от начальной линии flex-контейнера
    (значение по умолчанию)
    flex-end
    Flex-элементы выкладываются в направлении, идущем от конечной линии flex-контейнера center
    Flex-элементы выравниваются по центру flex-контейнера.
    space-between
    Flex-элементы равномерно распределяются по линии. Первый flex-элемент помещается вровень с краем начальной линии, последний flex-элемент — вровень с краем конечной линии, а остальные flex-элементы на линии распределяются так, чтобы расстояние между любыми двумя соседними элементами было одинаковым.
    space-around
    Flex-элементы на линии распределяются так, чтобы расстояние между любыми двумя смежными flex-элементами было одинаковым, а расстояние между первым / последним flex-элементами и краями flex-контейнера составляло половину от расстояния между flex- элементами.

    Выравнивание элементов
    flexbox
    Выравнивание по поперечной оси
    Свойство align-items - выравнивает flex-элементы, включая анонимные, по поперечной оси текущей строки flex- контейнера
    . Значения:
    flex-start
    Верхний край flex-элемента помещается вплотную с flex-линией, проходящей через начало поперечной оси flex-end
    Нижний край flex-элемента помещается вплотную с flex-линией, проходящей через конец поперечной оси.
    center
    Поля flex-элемента центрируются по поперечной оси в пределах flex-линии.
    baseline
    Базовые линии всех flex-элементов, участвующих в выравнивании, совпадают.
    stretch
    Если поперечный размер flex-элемента вычисляется как auto и ни одно из поперечных значений margin не равно auto, элемент растягивается. Значение по умолчанию

    Выравнивание элементов
    flexbox
    Выравнивание по поперечной оси
    Свойство align-self - выравнивание отдельно взятого flex-элемента по высоте flex-контейнера. Переопределяет выравнивание
    , заданное align-items. Значения:
    flex-start
    Верхний край flex-элемента помещается вплотную с flex-линией, проходящей через начало поперечной оси flex-end
    Нижний край flex-элемента помещается вплотную с flex-линией, проходящей через конец поперечной оси.
    center
    Поля flex-элемента центрируются по поперечной оси в пределах flex-линии.
    baseline
    Flex-элемент выравнивается по базовой линии.
    stretch
    Если поперечный размер flex-элемента вычисляется как auto и ни одно из поперечных значений margin не равно auto, элемент растягивается.
    auto
    Flex-элемент использует выравнивание, указанное в свойстве align-items flex-контейнера. Значение по умолчанию

    Выравнивание элементов
    flexbox
    Выравнивание строк
    Свойство align-content - выравнивает строки в flex-контейнере при наличии дополнительного пространства на поперечной оси
    , аналогично выравниванию отдельных элементов на главной оси с помощью свойства justify-content. Свойство не влияет на однострочный flex-контейнер. Значения:
    flex-start
    Строки укладываются по направлению к началу flex-контейнера. Край первой строки помещается вплотную к краю flex-контейнера, каждая последующая — вплотную к предыдущей строке.
    flex-end
    Строки укладываются по направлению к концу flex-контейнера. Край последней строки помещается вплотную к краю flex-контейнера, каждая предыдущая — вплотную к последующей строке.
    center
    Строки укладываются по направлению к центру flex-контейнера. Строки расположены вплотную друг к другу и выровнены по центру flex-контейнера с равным расстоянием между начальным краем содержимого flex-контейнера и первой строкой и между конечным краем содержимого flex-контейнера и последней строкой.
    space-betwee n
    Строки равномерно распределены в flex-контейнере. Если оставшееся свободное пространство отрицательно или в flex-контейнере имеется только одна flex-линия, это значение идентично flex-start.
    space-around
    Строки равномерно распределены в flex-контейнере с половинным пробелом на обоих концах. Если оставшееся свободное пространство отрицательно, это значение идентично center stretch
    Строки flex-элементов равномерно растягиваются, заполняя все доступное пространство. Значение по умолчанию


    написать администратору сайта