Проблема с тем, что секция не растягивается по ширине в соответствии с содержимым (например, изображением и текстовыми элементами), может быть связана с несколькими факторами в CSS. Вот некоторые распространенные причины и их решения:
1. **Свойство `flex` у детей**: Если у вас есть элементы внутри flex-контейнера, убедитесь, что у них правильно настроено свойство `flex`. Например, можно использовать `flex: 1` или `flex-grow: 1`, чтобы позволить им растягиваться и занимать доступное пространство.
```css
.flex-item {
flex: 1; /* или flex-grow: 1; */
}
```
2. **Ширина изображения**: Если у изображения установлены фиксированные размеры (например, `width` или `max-width`), оно может не растягиваться на весь доступный размер. Убедитесь, что изображение имеет стили, позволяющие ему растягиваться, например:
```css
img {
max-width: 100%; /* или width: auto; */
height: auto; /* сохранить пропорции */
}
```
3. **Свойство `flex-wrap`**: Если у вас много элементов в ряду и их ширина превышает ширину контейнера, добавьте свойство `flex-wrap: wrap`, чтобы элементы переносились на новую строку.
```css
.flex-container {
display: flex;
flex-wrap: wrap;
}
```
4. **Ширина флекс-контейнера**: Убедитесь, что флекс-контейнеру не задана фиксированная ширина, которая ограничивает его размер. Например, свойства `width` или `max-width`, установленные на флекс-контейнере, могут ограничивать его размеры.
5. **Пробелы между элементами**: Если у вас есть отступы (margin) или поля (padding), они могут влиять на общего размера контейнера. Проверьте и, если нужно, уменьшите эти значения.
6. **Позиционирование элементов**: Убедитесь, что у вас нет свойств позиционирования (например, `position: absolute;`), которые могут быть применены к дочерним элементам и мешают корректному распределению пространства.
Вот пример базовой структуры, которая должна работать:
```html
<div class="flex-container">
<img src="image.jpg" alt="Изображение">
<div class="flex-item">Элемент 1</div>
<div class="flex-item">Элемент 2</div>
</div>
```
```css
.flex-container {
display: flex;
flex-wrap: wrap;
}
.flex-item {
flex: 1;
}
img {
max-width: 100%; /* Позволяем изображению растягиваться */
height: auto; /* Сохраняем пропорции */
}
```
Проверьте указанные параметры и отладьте стили, чтобы добиться желаемого результата.