Логотип YeaHub

База вопросов

Собеседования

Тренажёр

База ресурсов

Обучение

Навыки

Войти

Выбери, каким будет IT завтра — вместе c нами!

YeaHub — это полностью открытый проект, призванный объединить и улучшить IT-сферу. Наш исходный код доступен для просмотра на GitHub. Дизайн проекта также открыт для ознакомления в Figma.

© 2026 YeaHub

Документы

Медиа

Назад
Вопрос про CSS: css, grid

Как сделать layout из трёх колонок с фиксированной левой и резиновыми правыми?

Вопрос проверяет знание базовых layout-паттернов и умение выбирать подходящий инструмент CSS.

Короткий ответ

Проще всего использовать CSS Grid: задать фиксированную ширину первой колонки и fr для остальных. Grid сразу описывает структуру и не требует сложных расчётов. Альтернатива — Flexbox, где первая колонка фиксированная, а остальные растягиваются через flex: 1. Grid обычно читается проще и масштабируется лучше.

Длинный ответ

Такой layout часто встречается в админках и дашбордах.

Вариант с CSS Grid

CSS Grid позволяет явно описать размеры колонок.

.container {
  display: grid;
  grid-template-columns: 240px 1fr 1fr;
}
  1. Первая колонка

    • Фиксированная (240px)

  2. Вторая и третья

    • Делят оставшееся пространство поровну

Вариант с Flexbox

Flexbox тоже подходит, но логика менее наглядная.

.container {
  display: flex;
}

.left {
  width: 240px;
  flex-shrink: 0;
}

.right {
  flex: 1;
}

Что выбрать на практике

  1. Grid

    • Чёткая сетка

    • Проще читать

    • Отлично для сложных layout’ов

  2. Flexbox

    • Хорош для линейных структур

    • Чуть больше ручного контроля

Вывод

Для трёхколоночного layout’а с фиксированной и резиновыми колонками чаще выбирают CSS Grid — он проще и декларативнее.

Уровень

  • Рейтинг:

    4

  • Сложность:

    5

Навыки

  • CSS

    CSS

Ключевые слова

#css

#grid

Подпишись на React Developer в телеграм