Обычно таблица, которую мы делаем, не обеспечивает хорошего пользовательского опыта с точки зрения визуализации данных. Итак, в этой статье я поделюсь своим подходом к созданию лучшей адаптивной таблицы для визуализации данных.
Если вы хотите пропустить чтение, вы можете посмотреть видео на YouTube. Ссылка находится в конце статьи.
Шаг 1: Настройка содержимого таблицы в html.
Вместо традиционных тегов HTML я буду использовать похожие имена классов. Никаких особых причин, просто личные предпочтения.
Рассмотрим фиктивные данные, в которых у нас есть реквизиты для печати Id-карты сотрудника компании.
<div class=”caption”>Employee Details</div> <div class=”table”> <div class=”th”> <div class=”td”>Name</div> <div class=”td”>DoB</div> <div class=”td”>Specialization</div> <div class=”td”>Blood Group</div> <div class=”td”>Emergency Contact</div> </div> <div class=”tbody”> <div class=”tr”> <div class=”td”>John</div> <div class=”td”>10/09/1993</div> <div class=”td”>UI/UX Designer</div> <div class=”td”>O+</div> <div class=”td”>98765 43210</div> </div> <div class=”tr”> <div class=”td”>Doe</div> <div class=”td”>01/01/2000</div> <div class=”td”>Network Architecture</div> <div class=”td”>A+</div> <div class=”td”>87654 32109</div> </div> <div class=”tr”> <div class=”td”>Jane</div> <div class=”td”>09/10/1999</div> <div class=”td”>Frontend Developer</div> <div class=”td”>B+</div> <div class=”td”>76543 21098</div> </div> <div class=”tr”> <div class=”td”>Satoshi</div> <div class=”td”>20/08/1999</div> <div class=”td”>Backend Developer</div> <div class=”td”>AB+</div> <div class=”td”>65432 10987</div> </div> <div class=”tr”> <div class=”td”>Nakamoto</div> <div class=”td”>14/10/1983</div> <div class=”td”>Fullstack Developer</div> <div class=”td”>O-</div> <div class=”td”>54321 09876</div> </div> </div> </div>
Шаг 2: Стилизация классов для табличного вида
Давайте создадим таблицу полос зебры и назначим заголовок разного цвета, а также назначим одинаковую ширину каждому столбцу.
body { font-family: arial; } .caption { font-size: 30px; font-weight: bold; margin: 25px; text-align: center; } .tr { display: flex; } .th { display: flex; background: mediumblue; color: white; } .td { width: 20%; border: 1px solid #777; padding: 10px; } .tr:nth-of-type(even) { background: #efefef; }
Теперь у нас есть основная таблица. Вы можете изменить размер экрана и посмотреть, насколько плох пользовательский интерфейс для маленьких экранов.
Давайте сделаем его лучше и для маленьких экранов.
Шаг 3: Скрытие заголовка и изменение вида таблицы
Мы изменим представление на один столбец и несколько строк для каждого набора данных. Отсюда мы будем писать стили для @media (max-width: 600px), (max-device-width: 600px)
.
.th { display: none; } .tr { display: block; margin-bottom: 25px; background: transparent !important; } .td { background: #f0f0f0; display: flex; width: 90%; margin: auto; }
Шаг 4. Добавление меток заголовка и данных
Мы будем рассматривать первую строку каждого набора как заголовок и раскрашивать ее по-разному для лучшей визуализации.
.td:nth-of-type(1) { content: “Name:”; background: mediumblue; color: white; font-weight: bold; } .td:before { font-weight: bold; display: block; width: 50%; } .td:nth-of-type(2):before { content: “DoB:”; } .td:nth-of-type(3):before { content: “Specialization:”; } .td:nth-of-type(4):before { content: “Blood Group:”; } .td:nth-of-type(5):before { content: “Emergency Contact:”; }
Шаг 5: Исправление размера шрифта и отступов для всех устройств.
@media (max-device-width: 600px) { .table { font-size: 2rem; } .td { padding: 20px; } }
Наконец, мы можем изменить размер экрана, и все равно наши данные легко понять.
Пожалуйста, не стесняйтесь оставлять свое мнение или любые полезные советы.
Спасибо, что прочитали. Чтобы получать больше обновлений и подключаться к другим социальным сетям, нажмите на ссылку: Designing Coder