Ant Design предоставляет гибкую систему управления размерами компонентов, позволяя создавать интерфейсы с различными масштабами элементов для достижения удобства использования и визуальной гармонии. Управление размерами в библиотеке реализовано через свойства компонентов, глобальные настройки темы и специальные утилиты для адаптивного дизайна.
sizeПрактически все визуальные компоненты Ant Design поддерживают
свойство size. Оно позволяет быстро менять размер элемента
без необходимости дополнительных CSS-правил.
Доступные значения:
small – уменьшенный размер, подходит для плотных
интерфейсов и компактных форм.middle – стандартный размер (по умолчанию), оптимален
для большинства случаев.large – увеличенный размер, выделяет компонент в
интерфейсе.Пример использования с компонентом Button:
import { Button } from 'antd';
<Button size="small">Маленькая кнопка</Button>
<Button size="middle">Средняя кнопка</Button>
<Button size="large">Большая кнопка</Button>
Многие компоненты, включая Input, Select,
DatePicker, Switch, и Checkbox,
поддерживают аналогичное свойство size.
Для единообразного управления размерами во всем приложении
используется компонент ConfigProvider. Он позволяет задать
глобальный размер, который будет применяться ко всем поддерживающим
компонентам.
import { ConfigProvider, Button, Input } from 'antd';
<ConfigProvider componentSize="large">
<Button>Большая кнопка</Button>
<Input placeholder="Большой input" />
</ConfigProvider>
componentSize принимает те же значения:
small, middle, large.size.В случаях, когда стандартные размеры недостаточны, можно использовать CSS-переменные и классические CSS-свойства для кастомизации размеров.
:root {
--ant-btn-height-base: 48px; /* базовая высота кнопки */
--ant-input-height-base: 40px; /* базовая высота инпута */
}
<Button style={{ height: '60px', fontSize: '18px' }}>Кастомная кнопка</Button>
<Input style={{ width: '300px', height: '50px' }} />
Использование стилей через style или классы CSS дает
полный контроль над размером, однако стоит учитывать, что это обходит
стандартную систему размеров Ant Design.
Некоторые компоненты имеют уникальные свойства для настройки размеров отдельных элементов:
Table – поддерживает свойство
size, но с другими значениями:
small – компактная таблицаmiddle – стандартнаяPagination – через
size="small" можно сделать более компактные элементы
навигации.
Space – управляет промежутками
между компонентами, используя size в пикселях или ключевые
значения small, middle,
large.
Пример:
import { Table } from 'antd';
<Table
size="small"
columns={columns}
dataSource={data}
/>
Ant Design поддерживает адаптивные размеры
компонентов через систему сетки и медиазапросов. Для форм и
таблиц можно комбинировать size с компонентами
Row и Col для создания интерфейса, который
подстраивается под ширину экрана.
import { Row, Col, Input } from 'antd';
<Row gutter={16}>
<Col xs={24} sm={12} md={8}>
<Input size="small" placeholder="Компактный input" />
</Col>
<Col xs={24} sm={12} md={16}>
<Input size="large" placeholder="Большой input" />
</Col>
</Row>
xs, sm, md,
lg позволяет менять размер и расположение элементов на
разных разрешениях.size и сетку, можно создать гибкий,
адаптивный интерфейс.small) – интерфейсы
с большим количеством элементов на экране, админ-панели, компактные
формы.middle) – стандарт
для большинства приложений, оптимальный баланс между читаемостью и
плотностью интерфейса.large) – выделение
важных элементов, мобильные приложения с тач-интерфейсом, элементы
навигации.Ant Design позволяет создавать собственные темы через Less-переменные. Для изменения базового размера компонентов:
@btn-height-base: 50px;
@input-height-base: 48px;
@font-size-base: 16px;
После сборки проекта с этими переменными все компоненты автоматически
получат новые размеры без ручного добавления свойства
size.
Размер компонентов в Ant Design можно контролировать через
локальные свойства size,
глобальный ConfigProvider, CSS и
темы. Правильное сочетание этих подходов позволяет создавать
интерфейсы с высокой читаемостью, адаптивностью и визуальной
гармонией.