Ранее мы рассматривали, как адаптировать простую HTML-таблицу под мобильные устройства. На этот мы раз затронем схожую тему, но возьмем таблицу посложнее, с заголовками.
Для структуризации данных (например, стоимость услуг или часы работы) и удобном представлении пользователю идеально подходят таблицы, которые в современное время должны быть адаптивными для смартфонов и планшетов, иначе важные элементы, хранящиеся в ячейках, могут быть скрыты за пределами экрана.
Нарисуем таблицу графика работы службы доставки со сменными курьерами и ценами, добавив атрибут aria-label (текстовую метку) к ячейкам с данными.
Время доставки | Курьер | Оплата картой | Стоимость доставки |
---|---|---|---|
8:00-12:00 | Николай | Нет | 20 руб. |
12:00-18:00 | Вадим | Да | 50 руб. |
18:00-23:00 | Алексей | Да | 120 руб. |
1:00-6:00 | Евгений | Нет | 90 руб. |
HTML-код:
<table class="delivery"> <thead> <tr> <th>Время доставки</th> <th>Курьер</th> <th>Оплата картой</th> <th>Стоимость доставки</th> </tr> </thead> <tbody> <tr> <td aria-label="Время доставки">8:00-12:00</td> <td aria-label="Курьер">Николай</td> <td aria-label="Оплата картой">Нет</td> <td aria-label="Стоимость доставки">20 руб.</td> </tr> <tr> <td aria-label="Время доставки">12:00-18:00</td> <td aria-label="Курьер">Вадим</td> <td aria-label="Оплата картой">Да</td> <td aria-label="Стоимость доставки">50 руб.</td> </tr> <tr> <td aria-label="Время доставки">18:00-23:00</td> <td aria-label="Курьер">Алексей</td> <td aria-label="Оплата картой">Да</td> <td aria-label="Стоимость доставки">120 руб.</td> </tr> <tr> <td aria-label="Время доставки">1:00-6:00</td> <td aria-label="Курьер">Евгений</td> <td aria-label="Оплата картой">Нет</td> <td aria-label="Стоимость доставки">90 руб.</td> </tr> </tbody> </table>
CSS-код:
table.delivery {width: 100%; border: 0px; border-collapse: collapse;} table.delivery thead {font-weight: bold;} table.delivery td {padding: 0.6rem 1rem; border-bottom: 1px solid #e8e9eb;}
Внешний вид таблицы на ПК с фиксированным разрешением 1140 пикс. будет выглядеть примерно так.
При уменьшении разрешения дисплея до 334 пикс. ячейки сожмутся на сколько это возможно и оставят часть информации скрытой.
С помощью CSS мы сможем добиться нужно эффекта – разделение таблицы на понятные посетителю блоки при разрешении экрана меньше 800 пикс. Просто добавим к уже созданным стилям следующий код:
@media screen and (max-width: 800px) { table.delivery thead { display: none; } table.delivery tr { display: block; margin-bottom: 1rem; border-bottom: 2px solid #e8e9eb; } table.delivery td { display: block; text-align: right; } table.delivery td:before { content: attr(aria-label); float: left; font-weight: bold; } }
На скриншоте ниже вы можете наглядно оценить превосходство данного метода.
Спасибо за внимание! Не забывайте ставить оценку в рейтинге статьи!
9,399 total views, 2 views today
1 комментарий. Оставить новый
Здравствуйте. Уже больше года не могу разобраться, подскажите пожалуйста куда добавить этот код ? В какой папке :
открою папку css а там еще папки https://pastenow.ru/e3f9904fe169c1a01632057a8f581ce2
может в style css ? https://pastenow.ru/dc91df2d4386699c8a3f2d5def8ff6d4
За ранее спасибо .