Главная/Блог/Пиксельная графика на CSS с использованием box-shadow
Пиксельная графика на CSS с использованием box-shadow
Александра Шаламова
04-27-2021 13:00
Для тех, кому удобнее видео-формат
В этой статье хочу разобрать способ рисования пиксельной графики с помощью CSS-свойства box-shadow. С помощью этой техники можно делать как и более сложные изображения, так и простые значки.
Для начала разберем основную идею. Напомню синтаксис box-shadow:
box-shadow: none | <тень> [,<тень>]*
где <тень>:
inset <сдвиг по x> <сдвиг по y> <радиус размытия> <растяжение> <цвет>
Это свойство позволяет создавать тени у элемента как внешние так и внутренние. Однако, если убрать размытие и растяжение, то тень может стать полоской, прямоугольником или квадратом, с помощью которых можно строить различные фигуры. Еще одна приятная особенность box-shadow состоит в том, что можно задавать большое количество теней в одном свойстве, перечисляя их через запятую.
Посмотрим, что можно с этим сделать дальше. Если мы будем использовать собственную тень элемента, то мы сможем рисовать только относительно размеров самого элемента, ведь тень начинается от его границ. Чтобы обойти это ограничение мы можем использовать псевдоэлементы ::before и ::after. Задав псевдоэлемент нужного размера и расположив его за границами родительского элемента с помощью абсолютного позиционирования и отрицательного top размеров в его высоту, можно начать рисовать от левого верхнего угла. Давайте попробуем с помощью этих принципов нарисовать квадратик в левом верхнем углу:
Таким образом мы получили условный пиксель размерами 4 на 4. Как я писала ранее вы можете задавать такие пиксели дальше в том же свойстве несколькими тенями и сделать например рисунок шахматной доски:
Также вы можете каждой тени задавать свой собственный цвет и получить многоцветный рисунок. Например, красное пиксельное сердечко с черной обводкой:
А как на счет пиксельного pac-man и привидения, чтобы сделать собственную игру?
Как видите даже используя только один квадрат, мы имеем довольно широкие возможности. И все это в рамка лишь одного HTML-элемента.
Генератор для быстрого создания графики
Как видите создание графики такого рода вручную довольно трудоемкое занятие, поэтому я создала специальный интерфейс, в котором можно с помощью мышки легко создать любую картинку и скопировать ее код на свой сайт.
Пример работы генератора пиксельной графики
С помощью этого проекта вы можете сделать на пример вот такого Nyan Cat и вставить его на свой сайт:
Заключение
Надеюсь это тема была вам интересна так же как и мне. Жду вашего мнения в комментариях!
Если у вас остались вопросы, вы можете воспользоваться формой для связи или оставить комментарий ниже.
Этот сайт использует Cookie Мы используем файлы cookie для персонализации контента и рекламы, предоставления функций социальных сетей и анализа нашего трафика. Мы также передаем информацию об использовании вами нашего сайта нашим партнерам по социальным сетям, рекламе и аналитике, которые могут объединять ее с другой информацией, которую вы им предоставили или которую они собрали в результате использования вами их услуг.x