Адаптивная таблица с помощью JavaScript
html
<table>
<thead>
<tr>
<th>Payment</th>
<th>Issue Date</th>
<th>Amount</th>
<th>Period</th>
</tr>
</thead>
<tbody>
<tr>
<td>Payment #1</td>
<td>02/01/2015</td>
<td>$2,311</td>
<td>01/01/2015 - 01/31/2015</td>
</tr>
<tr>
<td>Payment #2</td>
<td>03/01/2015</td>
<td>$3,211</td>
<td>02/01/2015 - 02/28/2015</td>
</tr>
</tbody>
</table>
javascript
for (const table of document.querySelectorAll('table')) {
const labels = Array.from(table.tHead.rows[0].cells, n => n.innerText);
for (const tr of table.tBodies[0].rows) {
for (let i = 0; i < tr.cells.length; i++) {
tr.cells[i].dataset.label = labels[i];
}
}
}
css
table {
border: 1px solid #ccc;
width: 100%;
margin:0;
padding:0;
border-collapse: collapse;
border-spacing: 0;
}
table tr {
border: 1px solid #ddd;
padding: 5px;
}
table th, table td {
padding: 10px;
text-align: center;
}
table th {
text-transform: uppercase;
font-size: 14px;
letter-spacing: 1px;
}
@media screen and (max-width: 600px) {
table {
border: 0;
}
table thead {
display: none;
}
table tr {
margin-bottom: 10px;
display: block;
border-bottom: 2px solid #ddd;
}
table td {
display: block;
text-align: right;
font-size: 13px;
border-bottom: 1px dotted #ccc;
}
table td:last-child {
border-bottom: 0;
}
table td:before {
content: attr(data-label);
float: left;
text-transform: uppercase;
font-weight: bold;
}
}
//комментарии