Компонент FlexItem
в WordPress используется для размещения элементов с фиксированной шириной внутри компонента Flex
. Он позволяет создавать адаптивные элементы, которые можно интегрировать в гибкие макеты с помощью Flexbox.
Основное использование компонента FlexItem
Компонент FlexItem
часто применяется внутри Flex
, чтобы установить фиксированную ширину для элемента или сделать его адаптивным по ширине. В следующем примере показано базовое использование FlexItem
внутри Flex
.
import { Flex, FlexItem } from '@wordpress/components';
function Example() {
return (
<Flex>
<FlexItem>
<p>Элемент 1</p>
</FlexItem>
<FlexItem>
<p>Элемент 2</p>
</FlexItem>
<FlexItem>
<p>Элемент 3</p>
</FlexItem>
</Flex>
);
}
В этом примере три элемента FlexItem
расположены горизонтально и равномерно распределены внутри контейнера Flex
.
Описание Props для FlexItem
Компонент FlexItem
поддерживает несколько параметров, которые позволяют настраивать его поведение и внешний вид. Рассмотрим каждый параметр подробно.
1. display: CSSProperties['display']
Свойство display
задает значение CSS-свойства display
для компонента FlexItem
, позволяя управлять его видимостью и поведением на странице.
- Тип:
CSSProperties['display']
- Обязательный: Нет
<Flex>
<FlexItem display="inline-block">
<p>Элемент 1</p>
</FlexItem>
<FlexItem display="block">
<p>Элемент 2</p>
</FlexItem>
</Flex>
В этом примере display
первого элемента установлен на inline-block
, что позволяет ему оставаться на линии с другими элементами, в то время как второй элемент отображается как блок.
2. isBlock: boolean
Свойство isBlock
определяет, должен ли элемент FlexItem
отображаться в адаптивном полноширинном формате. При установке isBlock
в true
, элемент будет занимать всю доступную ширину контейнера Flex
.
- Тип:
boolean
- Обязательный: Нет
- Значение по умолчанию:
false
<Flex>
<FlexItem isBlock={true}>
<p>Полноширинный элемент</p>
</FlexItem>
<FlexItem>
<p>Элемент с фиксированной шириной</p>
</FlexItem>
</Flex>
В этом примере первый FlexItem
отображается по всей ширине контейнера, в то время как второй элемент занимает только ширину по содержимому.
Пример 1: Горизонтальная компоновка с фиксированной шириной
В этом примере показано, как создать несколько FlexItem
, каждый из которых занимает фиксированное место внутри Flex
.
import { Flex, FlexItem } from '@wordpress/components';
const FixedWidthFlexItems = () => (
<Flex>
<FlexItem>
<p>Элемент A</p>
</FlexItem>
<FlexItem>
<p>Элемент B</p>
</FlexItem>
<FlexItem>
<p>Элемент C</p>
</FlexItem>
</Flex>
);
Каждый элемент занимает место в зависимости от своего содержимого и расположен горизонтально.
Пример 2: Полноширинный адаптивный FlexItem
Используем свойство isBlock
, чтобы элемент FlexItem
занимал всю ширину контейнера Flex
.
import { Flex, FlexItem } from '@wordpress/components';
const FullWidthItemExample = () => (
<Flex>
<FlexItem isBlock={true}>
<p>Полноширинный адаптивный элемент</p>
</FlexItem>
<FlexItem>
<p>Элемент справа</p>
</FlexItem>
</Flex>
);
В этом примере первый элемент занимает всю ширину контейнера, а второй элемент располагается справа.
Пример 3: Использование свойства display
для контроля видимости
Свойство display
позволяет управлять отображением каждого элемента внутри Flex
.
import { Flex, FlexItem } from '@wordpress/components';
const DisplayPropertyExample = () => (
<Flex>
<FlexItem display="none">
<p>Элемент, скрытый с display="none"</p>
</FlexItem>
<FlexItem display="inline">
<p>Элемент, отображаемый inline</p>
</FlexItem>
<FlexItem display="block">
<p>Элемент, отображаемый как блок</p>
</FlexItem>
</Flex>
);
В этом примере первый элемент скрыт, так как его display
установлен на none
, второй элемент отображается в inline
режиме, а третий — в виде блока.
Пример 4: Вертикальная компоновка с isBlock
В этом примере FlexItem
используется в вертикальном направлении, и один из элементов настроен для полноширинного отображения.
import { Flex, FlexItem } from '@wordpress/components';
const VerticalFlexExample = () => (
<Flex direction="column">
<FlexItem isBlock={true}>
<p>Полноширинный элемент в колонке</p>
</FlexItem>
<FlexItem>
<p>Узкий элемент</p>
</FlexItem>
</Flex>
);
Элементы FlexItem
располагаются вертикально, и первый элемент занимает всю ширину контейнера.
Заключение
Компонент FlexItem
— это мощный инструмент для создания адаптивных и фиксированных элементов внутри гибких компоновок. Используя параметры display
и isBlock
, вы можете управлять видимостью, шириной и выравниванием каждого элемента. Комбинируя Flex
и FlexItem
, вы можете создавать как простые, так и сложные макеты в React-приложениях WordPress.