Я пытаюсь воспроизвести этот дизайн, используя HTML / CSS для современного браузера:
По сути, это таблица со строками и столбцами,это означает, что если ячейка имени для строки становится больше, она должна стать больше для всех них.Я вижу две возможности: таблицы и CSS-сетку.
Строки в таблицах, насколько я вижу, не достаточно стилевые, например, они не могут брать радиус границы, я не пробовал тени блока.
Если я использую сетку CSS, я могу стилизовать ячейки для имитации радиуса границы в конце, но тогда тень от рамки становится невозможной, потому что тень от второй ячейки закрывает первую.
Я думаю, что проблема сводится к наличию элементов, которые представляют строки для стиля, но все же внутри каждой из них ячейки должны быть такой же ширины, как и в других строках, чтобы представлять столбцы.
Есть ли какие-либов CSS для достижения этой цели?
Например, вот попытка сделать это с HTML table
, в которой маржа и радиус границы не действуют:
table {
border-collapse: collapse;
}
tr {
background-color: grey;
border-radius: 8px;
margin: 10px;
}
<table>
<tr>
<td>Eva Lee</td>
<td>Call back</td>
<td>15/02/19</td>
</tr>
<tr>
<td>Evelyn Allen</td>
<td>Call back</td>
<td>14/01/19</td>
</tr>
<tr>
<td>Slawomir Pelikan</td>
<td>Voicemail</td>
<td>14/01/19</td>
</tr>
<tr>
<td>Christopher Walken</td>
<td>Voicemail</td>
<td>14/01/19</td>
</tr>
</table>
Вот еще одна попытка с использованием display: table
, которая действует так же, как table
:
.table {
display: table;
border-collapse: collapse;
}
.row {
display: table-row;
background-color: grey;
border-radius: 8px;
margin: 10px;
}
.cell {
display: table-cell;
}
<div class="table">
<div class="row">
<div class="cell">Eva Lee</div>
<div class="cell">Call back</div>
<div class="cell">15/02/19</div>
</div>
<div class="row">
<div class="cell">Evelyn Allen</div>
<div class="cell">Call back</div>
<div class="cell">14/01/19</div>
</div>
<div class="row">
<div class="cell">Slawomir Pelikan</div>
<div class="cell">Voicemail</div>
<div class="cell">14/01/19</div>
</div>
<div class="row">
<div class="cell">Christopher Walken</div>
<div class="cell">Voicemail</div>
<div class="cell">14/01/19</div>
</div>
</div>