Колонка таблицы не соблюдает заданные размеры
У меня есть таблица, написанная с помощью React-table, я столкнулся с проблемой, что когда я задаю ширину нескольким колонкам сразу, они не соблюдают четко заданную ширину. К примеру колонка имеет ширину в 50px в коде, при этом по факту у нее ширина 270px.
Вот базовый код таблицы:
<table>
<thead>
<tr><th>content</th</tr>
...
</thead>
<tbody>
<tr><td>content</td</tr>
...
</tbody>
</table>
table {
border-spacing: 0;
border: 1px solid $border;
border-radius: 5px;
table-layout: fixed;
width: 100%;
}
Как мне сохраняя растяжение таблицы на весь экран, и при этом задавая четкие размеры некоторым колонкам - заставить их соблюдать эти размеры?
Так же есть максимально похожий набросок на реальную таблицу тут - https://codesandbox.io/p/sandbox/react-table-lxzyj6
Ответы (1 шт):
Автор решения: Nikolai
→ Ссылка
Попробуй свойство table-layout: fixed;.
import React from 'react';
const TableComponent = () => {
return (
<table style={{ tableLayout: 'fixed', width: '100%' }}>
<thead>
<tr>
<th style={{ width: '50px' }}>Column 1</th>
<th style={{ width: '100px' }}>Column 2</th>
<th>Column 3</th> {/* Этот столбец растянется на оставшееся пространство */}
</tr>
</thead>
<tbody>
<tr>
<td>Content 1</td>
<td>Content 2</td>
<td>Content 3</td>
</tr>
{/* Другие строки */}
</tbody>
</table>
);
};
export default TableComponent;
table {
border-spacing: 0;
border: 1px solid #ddd;
border-radius: 5px;
width: 100%;
table-layout: fixed;
}
th, td {
border: 1px solid #ddd;
padding: 8px;
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}