Регистрация Войти
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Войти через VK Войти через FB Войти через Google Войти через Яндекс
Поиск по сайту
Адаптивная таблица
Уменьшайте ширину окна, чтобы увидеть результат
Тип | Наименование | Восст. | Запр. |
---|---|---|---|
MLTD108S | Samsung №MLTD108S ML-1640/1641/1645/2240/2241 (MLTD108S) | 1100 | 700 |
MLTD109S | Samsung №MLTD109S SCX-4300 прошитый (MLTD109S) | 800 | 350 |
MLTD111S | Samsung №MLTD111S M2020/М2022/М2070 (MLTD111S) | 700 | 300 |
Исходный код этого примера:
<style>
.table-box {
max-width: 1024px;
}
.table-box p {
font-size: larger;
font-weight: bold;
}
table {
width: 100%;
border: 1px solid #ccc;
border-collapse: collapse;
}
thead {
border: 1px solid #ccc;
}
th, td {
border-left: 1px solid #ccc;
padding: 5px;
}
@media (min-width: 641px) {
td:nth-last-child(-n+2) {
text-align: right;
}
}
@media (max-width: 640px) {
table,
thead,
tbody,
th,
td,
tr {
display: block;
}
thead {
display: none;
}
tr {
border-bottom: 1px solid #ccc;
}
tr:last-child {
border-bottom: 0;
}
tr:last-child td:last-child {
border-bottom: 0;
}
td {
border: none;
position: relative;
white-space: normal;
text-align:left;
}
td:before {
content: attr(data-title);
display: block;
white-space: nowrap;
font-weight: bold;
}
}
</style>
<div class="table-box">
<table>
<p>Цена восстановления и заправки картриджей SAMSUNG</p>
<thead>
<tr>
<th>Тип</th>
<th>Наименование</th>
<th>Восст.</th>
<th>Запр.</th>
</tr>
</thead>
<tbody>
<tr>
<td data-title="Тип">MLTD108S</td>
<td data-title="Наименование">Samsung №MLTD108S ML-1640/1641/1645/2240/2241 (MLTD108S)</td>
<td data-title="Восстановление">1100</td>
<td data-title="Заправка">700</td>
</tr>
<tr>
<td data-title="Тип">MLTD109S</td>
<td data-title="Наименование">Samsung №MLTD109S SCX-4300 прошитый (MLTD109S)</td>
<td data-title="Восстановление">800</td>
<td data-title="Заправка">350</td>
</tr>
<tr>
<td data-title="Тип">MLTD111S</td>
<td data-title="Наименование">Samsung №MLTD111S M2020/М2022/М2070 (MLTD111S)</td>
<td data-title="Восстановление">700</td>
<td data-title="Заправка">300</td>
</tr>
</tbody>
</table>
</div>
Чтобы не писать в каждую ячейку атрибут data-title, можно использовать следующий скрипт:
<script>
document.querySelectorAll('div.table-box table').forEach(function(tbl){
var th=tbl.querySelectorAll('thead th'), c=th.length;
tbl.querySelectorAll('tbody tr').forEach(function(tr){
for(var h=0;h<c;h++) tr.children[h].setAttribute('data-title',th[h].innerText+':');
})
})
</script>
Другой вариант, когда название столбца ставится слева от содержимого ячейки: Таблица для маленького экрана
.
Прокомментировать/Отблагодарить