Я пытаюсь создать таблицу с сеткой CSS.Пока что я создал простую схему.
Я должен создать сетки на уровне row
(из-за того, что IRL таблицы содержат больше элементов, и я не могу их создать на уровне table
).Пока это работает, если только нет очень длинного слова (или числа), так как в этом случае оно переполняет содержащую ячейку.
Мой вопрос: возможно ли переполнение таблицы, чтобы сделать ячейкипо крайней мере такой же большой, как самое большое отдельное слово или число?
Заранее спасибо!
Редактировать: мне нужно создать таблицу с сеткой CSS, так как мне нужно использовать тот же макетдля мобильной версии
Edit2: я не знаю заранее, сколько элементов у меня будет в строках / столбцах, поэтому мне нужно использовать repeat
.table {
margin: 48px 0;
box-shadow: 0 5px 10px -2px #cfcfcf;
font-family: Arial;
}
.row {
display: grid;
grid-template-columns: repeat( auto-fit, minmax(72px, 1fr) );
min-height: 48px;
border-bottom: 1px solid #f1f1f1;
}
.column {
display: flex;
width: 100%;
height: 100%;
border: 1px solid #f1f1f1;
align-items: center;
}
.row:first-child {
font-weight: bold;
}
<!DOCTYPE html>
<html>
<head>
<link rel="stylesheet" href="style.css">
</head>
<body>
<div class="table">
<div class="row">
<div class="column">Name</div>
<div class="column">Age</div>
<div class="column">Favourite Book</div>
<div class="column">Favourite Color</div>
<div class="column">Favourite Meal</div>
</div>
<div class="row">
<div class="column">Jimmy</div>
<div class="column">23</div>
<div class="column">None</div>
<div class="column">White</div>
<div class="column">Paella de Chorizo</div>
</div>
<div class="row">
<div class="column">Johny</div>
<div class="column">56</div>
<div class="column">Finnegans Wake</div>
<div class="column">Purple, Magenta and Violet</div>
<div class="column">None</div>
</div>
<div class="row">
<div class="column">Robert The Snake Robertson</div>
<div class="column">1.234.567.890.000.000</div>
<div class="column">The Count of Monte Cristo</div>
<div class="column">Orange</div>
<div class="column">Apples</div>
</div>
</div>
</body>
</html>