Для того чтобы сделать все ячейки в grid-таблице одинаковой ширины, можно использовать свойство "grid-template-columns" и установить значение "auto" для каждой колонки. Вот пример CSS кода:
```css
.grid-container {
display: grid;
grid-template-columns: auto auto auto;
gap: 10px; /* Опционально, добавляет промежутки между ячейками */
}
.grid-item {
/* Стили для ячейки */
}
```
Для создания grid-таблицы с использованием свойства "display: contents" и достижения желаемого расположения ячеек, может потребоваться использование дополнительных HTML элементов. Свойство "display: contents" делает дочерние элементы невидимыми и распространяет их стили на родительский элемент. Вот пример HTML и CSS кода:
HTML:
```html
<div class="grid-container">
<div class="grid-row">
<div class="grid-item">1</div>
<div class="grid-item">2</div>
<div class="grid-item">3</div>
<div class="grid-item">4</div>
</div>
<div class="grid-row">
<div class="grid-item">5</div>
<div class="grid-item">6</div>
<div class="grid-item">7</div>
<div class="grid-item">8</div>
</div>
<div class="grid-row">
<div class="grid-item">9</div>
<div class="grid-item">10</div>
<div class="grid-item">11</div>
<div class="grid-item">12</div>
</div>
</div>
```
CSS:
```css
.grid-container {
display: grid;
grid-template-columns: repeat(4, 1fr);
gap: 10px; /* Опционально, добавляет промежутки между ячейками */
}
.grid-row {
display: contents;
}
.grid-item {
/* Стили для ячейки */
}
```
Такого рода грид-таблицы можно создать без использования библиотек, используя просто HTML и CSS.