FlexGrid в библиотеке Carbon Components Svelte представляет собой мощный инструмент для создания адаптивных и гибких макетов, основанных на концепции CSS Flexbox. Основное преимущество FlexGrid — возможность быстро и эффективно управлять структурой интерфейса, не прибегая к сложным CSS-правилам.
В Carbon Components Svelte FlexGrid реализован через два ключевых компонента:
Компонент Grid принимает несколько важных свойств:
condensed (boolean) — уменьшает горизонтальные отступы
между колонками.fullWidth (boolean) — сетка занимает всю ширину
родительского контейнера.narrow (boolean) — уменьшает внутренние отступы сетки
для компактных интерфейсов.Пример использования:
<Grid fullWidth>
<Column>
Контент первой колонки
</Column>
<Column>
Контент второй колонки
</Column>
</Grid>
Компонент Column позволяет управлять шириной и
расположением элементов внутри сетки. Основные свойства:
sm, md, lg, xlg,
max — задают количество колонок, которые занимает элемент
на различных размерах экрана. Значение передается числом от 1 до
16.offset — смещение колонки вправо на указанное
количество колонок.start / end — задают порядок отображения
колонки в сетке.Пример адаптивной колонки:
<Column sm={4} md={8} lg={6}>
Адаптивная колонка
</Column>
В этом примере на маленьких экранах колонка занимает 4 из 16 колонок, на средних — 8, на больших — 6.
FlexGrid полностью поддерживает адаптивные интерфейсы. Для каждого размера экрана можно задавать индивидуальное поведение колонок. Размеры экрана соответствуют стандартным точкам перелома Carbon Design System:
Пример комбинации:
<Grid>
<Column sm={8} md={4} lg={6}>
Контент первой колонки
</Column>
<Column sm={8} md={12} lg={10}>
Контент второй колонки
</Column>
</Grid>
В этом примере сетка автоматически перестраивается под размер экрана, сохраняя гармоничное расположение элементов.
FlexGrid наследует возможности Flexbox, что позволяет управлять расположением колонок через выравнивание и порядок:
align — вертикальное выравнивание (start,
center, end, stretch).justify — горизонтальное распределение
(start, center, end,
between, around).Пример горизонтального центрирования колонок:
<Grid justify="center">
<Column sm={4}>
Колонка 1
</Column>
<Column sm={4}>
Колонка 2
</Column>
</Grid>
FlexGrid позволяет создавать сложные лейауты с вложенными колонками. Вложенные сетки автоматически наследуют параметры родительской сетки, при этом можно задавать собственные свойства:
<Grid>
<Column sm={8}>
Основной контент
<Grid condensed>
<Column sm={4}>Вложенная колонка 1</Column>
<Column sm={4}>Вложенная колонка 2</Column>
</Grid>
</Column>
<Column sm={8}>
Дополнительный контент
</Column>
</Grid>
fullWidth для макетов, которые должны
занимать всю ширину экрана, а condensed — для плотного
размещения элементов.sm, md,
lg).offset и start/end.FlexGrid в Carbon Components Svelte обеспечивает гибкость, структурированность и простоту адаптивного дизайна, позволяя создавать профессиональные интерфейсы с минимальной настройкой CSS.