Чтобы зафиксировать первую колонку таблицы (или любой другой элемент) с помощью CSS, вы можете использовать свойство `position: sticky`. Это свойство позволяет элементу оставаться на месте при прокрутке, если он попадает в указанное положение.
Вот пример базовой разметки таблицы с фиксированной первой колонкой:
```html
<table>
<thead>
<tr>
<th class="fixed">Заголовок 1</th>
<th>Заголовок 2</th>
<th>Заголовок 3</th>
</tr>
</thead>
<tbody>
<tr>
<td class="fixed">Данные 1</td>
<td>Данные 2</td>
<td>Данные 3</td>
</tr>
<!-- Другие строки -->
</tbody>
</table>
```
CSS:
```css
table {
border-collapse: collapse;
width: 100%;
}
th, td {
padding: 8px 16px;
border: 1px solid #ccc;
}
.fixed {
position: sticky;
left: 0; /* Фиксирует колонку с левой стороны */
background: white; /* Добавьте фон, чтобы колонка выделялась */
z-index: 1; /* Убедитесь, что фиксированные ячейки над другими */
}
```
### Проблема с исчезающей колонкой
Если колонка "Данные" с классом "fixed" исчезает с экрана после горизонтальной прокрутки, это может происходить по нескольким причинам:
1. **Необходимо установить `z-index`:** Убедитесь, что у столбца с фиксированной позицией установлен достаточно высокий `z-index`, чтобы он отображался выше других элементов.
2. **Фон для фиксированного элемента:** Убедитесь, что вы задали фон для фиксированной колонки (например, `background: white;`), чтобы сделать ее визуально отделенной от других ячеек.
3. **Проблемы с родительскими элементами:** Убедитесь, что родительский элемент таблицы не имеет стилей, которые могут конфликтовать с `position: sticky`, таких как `overflow: hidden`.
Применяя эти рекомендации, вы сможете корректно зафиксировать колонку и избежать проблем с её исчезновением при прокрутке.