Вебинары Разобраться в IT Реферальная программа
Программирование Аналитика Дизайн Маркетинг Управление проектами
21 Фев 2023
2 мин
114

Создание двух столбцов фиксированной ширины и одного гибкого в центре с использованием Flexbox

Очень распространенной задачей при разработке веб-страниц является создание структуры, когда есть два столбца фиксированной ширины по краям и один

Очень распространенной задачей при разработке веб-страниц является создание структуры, когда есть два столбца фиксированной ширины по краям и один гибкий столбец в центре, который занимает оставшееся пространство.

Пример такой структуры может быть следующим:

<div id="container">
    <div class="column left">Левый столбец</div>
    <div class="column center">Центральный столбец</div>
    <div class="column right">Правый столбец</div>
</div>

Иногда возникает проблема, что даже при задании столбцам фиксированных размеров, они сжимаются при уменьшении размера окна браузера. Это связано с тем, что в CSS свойство width задает ширину содержимого элемента, не включая padding, border и margin.

Для решения этой задачи можно использовать модель Flexbox в CSS. Flexbox (Flexible Box) позволяет управлять размерами и позиционированием элементов в контейнере, независимо от их исходных размеров.

В данном случае нужно задать контейнеру свойство display: flex;, которое делает его flex-контейнером и позволяет использовать другие свойства flexbox для управления дочерними элементами.

#container {
    display: flex;
}

Далее для столбцов с фиксированной шириной задаем нужные размеры:

.column.left {
    width: 200px;
}

.column.right {
    width: 200px;
}

А для центрального столбца используем свойство flex-grow: 1;, которое указывает, что этот столбец должен растягиваться и занимать оставшееся место:

.column.center {
    flex-grow: 1;
}

Таким образом, при изменении размера окна браузера, столбцы с фиксированной шириной останутся неизменными, а центральный столбец будет занимать все оставшееся пространство.

Проверь как ты усвоил материалы статьи
Пройди тест и узнай насколько ты лучше других читателей

Добавить комментарий