При создании веб-страницы необходимо принять множество решений. Куда идет название? Насколько большим я его сделаю? Куда уходит изображение? Как это будет выглядеть, когда у меня будет один абзац? Пять абзацев?
Если в вашей команде есть дизайнер, он может дать вам макеты! Это здорово, и это плацдарм для задачи размещения контента. Но прежде чем вы начнете раскидывать «lorem ipsum» по всей странице, могу я дать совет? Используйте скелет.
Что такое скелет?
Вы, вероятно, уже видели их, когда посещали свой любимый сайт в социальной сети. Прежде чем страница будет полностью загружена, вы увидите заполнители серого цвета, где должно быть содержимое. Это скелет.
Почему я должен начать там?
Использование «lorem ipsum» приятно, но иногда отвлекает, потому что вы всегда хотите его прочитать. Вы когда-нибудь показывали кому-то свой прогресс, и они спрашивали: «Что все это значит?» Создавая свою страницу со скелетом, вы можете сосредоточиться исключительно на макете, интервалах и пропорциях.
Используйте это в производстве
Ваше время и усилия по созданию страницы-скелета не потеряны. Вы можете использовать свой скелет в процессе загрузки страницы. При этом вы увеличиваете воспринимаемую скорость и отзывчивость вашего сайта. Используйте его везде, где вы отправляете запросы на серверную часть для получения большего количества контента, а пользователю приходится ждать.
Покажите мне пример
Мой пример приложения — это простой поиск фильмов. Он имеет текстовое поле, которое позволяет пользователю ввести заголовок, который он ищет. Это будет отправлено в IMDbOT API, который вернет кучу результатов. Результаты включают постер фильма, название, краткую информацию и информацию о рейтинге.
Я создаю это приложение, используя quasar framework, который построен на VueJS и имеет большую библиотеку доступных компонентов, включая скелет!
Я создал div.movie-result
, который будет обертывать каждый из результатов фильма. Чтобы создать несколько, я добавил цикл VueJS for, чтобы вывести некоторые из них на экран, чтобы я мог получить представление о том, как они будут выглядеть. Затем я добавил q-skeleton
компонентов, которые сопоставляются с каждым фрагментом контента, который я получу от вызова API (т. е. постер, заголовок, рейтинг и сводка). Подводя итог, вы можете видеть, что я использовал несколько текстовых скелетов, чтобы имитировать абзац текста.
Итак, теперь мы можем начать играть с компоновкой, интервалами и пропорциями. Я написал следующий SCSS.
Теперь у меня есть что-то похожее на это!
Здесь я начинаю видеть форму контента, как он будет располагаться на странице, как все это будет располагаться. Если бы у меня был макет моего дизайнера, я мог бы легко сравнить результат и поделиться им с ними для комментариев.
Ничто из этого не является напрасной работой. Я могу обернуть свой скелет в div, который я могу использовать во время загрузки. Все классы, которые я создал для макета, я могу применить к контенту.
Соберем все вместе…
Вот как выглядит результат.
Заключение
Начать со скелета — отличный способ сосредоточиться на макете, размере, расположении и пропорциях контента вашего сайта. Затем результат можно повторно использовать для экранов загрузки, чтобы увеличить воспринимаемое пользователем время загрузки, а стили макета можно применять к живому контенту.
Для тех, кто не использует Quasar для разработки, есть замечательный набор инструментов для разных фреймворков под названием Skeleton Elements, который вам стоит попробовать.