Чтобы сделать ширину элементов (items) в разных блоках равной и обеспечить их заполнение всей доступной ширины родительского контейнера, вы можете использовать CSS Flexbox или CSS Grid. Рассмотрим оба варианта.
### Вариант 1: Flexbox
Вы можете использовать Flexbox, чтобы добиться равной ширины для элементов. Если у вас есть несколько блоков, содержащих элементы, можно сделать следующее:
HTML:
```html
<div class="container">
<div class="block">
<div class="item">Item 1</div>
<div class="item">Item 2</div>
</div>
<div class="block">
<div class="item">Item 3</div>
<div class="item">Item 4</div>
</div>
</div>
```
CSS:
```css
.container {
display: flex;
flex-wrap: wrap;
}
.block {
display: flex;
flex: 1; /* Каждый блок будет занимать равную ширину */
min-width: 200px; /* Минимальная ширина блока */
}
.item {
flex: 1; /* Каждому элементу внутри блока присваиваем равный ширину */
padding: 10px;
border: 1px solid #ccc;
box-sizing: border-box; /* Учитываем отступы и обводку в ширину */
}
```
### Вариант 2: CSS Grid
Вы также можете использовать CSS Grid, чтобы упростить процесс выравнивания:
HTML:
```html
<div class="grid-container">
<div class="item">Item 1</div>
<div class="item">Item 2</div>
<div class="item">Item 3</div>
<div class="item">Item 4</div>
</div>
```
CSS:
```css
.grid-container {
display: grid;
grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); /* Каждый элемент будет занимать равную ширину */
gap: 10px; /* Расстояние между элементами */
}
.item {
padding: 20px;
border: 1px solid #ccc;
box-sizing: border-box; /* Учитываем отступы и обводку в ширину */
}
```
### Заключение
Выбор между Flexbox и Grid зависит от вашего конкретного случая использования. Flexbox лучше подходит для одномерных макетов (например, строка или столбец), тогда как Grid удобно применять для двумерных макетов (строки и столбцы). Используйте один из этих подходов для достижения желаемого результата.