Создание геометрических фигур при помощи CSS

CSS предоставляет разработчикам удобные инструменты для создания разнообразных геометрических фигур без использования графических редакторов. Это позволяет экономить время веб-дизайнера и ускоряет работу сайта за счет уменьшения количества графических файлов.

Базовые фигуры

Начнем с простых фигур, таких как квадраты, прямоугольники и круги. Для их создания достаточно задать нужные размеры блока и свойство border-radius.

Квадраты и прямоугольники

Чтобы нарисовать прямоугольник, достаточно создать блок с заданными свойствами width и height. Например:

 .rectangle { width: 300px; height: 150px; } 

Если значения width и height одинаковые, то получится квадрат. Также можно добавить рамку и заливку фигуры.

Городской пейзаж с футуристическими неоновыми небоскребами

Круги и овалы

Для создания окружности задайте свойство border-radius: 50% для квадрата или прямоугольника. Например:

 .circle { width: 100px; height: 100px; border-radius: 50%; } 

А вот для овала ширина и высота блока должны отличаться. Также можно создавать дуги, указывая разные радиусы для углов.

Розовое светящееся сердце на черном фоне с голубыми геометрическими фигурами

Треугольники

Треугольники часто используются для стрелок меню или кнопок. Создаются они установкой нулевой высоты блока и ширины границы:

 .triangle { width: 0; height: 0; border-left: 50px solid transparent; border-right: 50px solid transparent; border-bottom: 100px solid red; } 

Меняя цвета границ, можно создать треугольники разной направленности. Также есть варианты со стрелками и без.

Звезды и многоугольники

Более сложные многоугольные фигуры требуют использования псевдоэлементов и трансформаций. Рассмотрим на примере звезды.

Создаем базовый блок со скругленными углами:

 .star { width: 0; height: 0; border-right: 50px solid transparent; border-bottom: 100px solid red; border-left: 50px solid transparent; -moz-transform: rotate(35deg); -webkit-transform: rotate(35deg); -ms-transform: rotate(35deg); -o-transform: rotate(35deg); } 

А затем добавляем лучи при помощи псевдоэлементов:

 .star:before { border-bottom: 80px solid red; border-left: 30px solid transparent; border-right: 30px solid transparent; position: absolute; height: 0; width: 0; top: -45px; left: -65px; display: block; content: ''; -webkit-transform: rotate(-35deg); -moz-transform: rotate(-35deg); -ms-transform: rotate(-35deg); -o-transform: rotate(-35deg); } .star:after { // аналогичный код для второго луча } 

Подобным образом можно создавать различные многоугольники, такие как пятиугольники и шестиугольники.

Сложные фигуры

Используя CSS-трансформации, animation и другие техники, можно создавать по-настоящему сложные фигуры вроде сердец, пузырей для диалога и даже пасхальных яиц!

Сердца

Вот пример кода для сердечка:

 .heart { position: relative; width: 100px; height: 90px; } .heart:before, .heart:after { position: absolute; content: ""; left: 50px; top: 0; width: 50px; height: 80px; background: red; -moz-border-radius: 50px 50px 0 0; border-radius: 50px 50px 0 0; -webkit-transform: rotate(-45deg); -moz-transform: rotate(-45deg); -ms-transform: rotate(-45deg); -o-transform: rotate(-45deg); transform: rotate(-45deg); -webkit-transform-origin: 0 100%; -moz-transform-origin: 0 100%; -ms-transform-origin: 0 100%; -o-transform-origin: 0 100%; transform-origin: 0 100%; } .heart:after { left: 0; -webkit-transform: rotate(45deg); -moz-transform: rotate(45deg); -ms-transform: rotate(45deg); -o-transform: rotate(45deg); transform: rotate(45deg); -webkit-transform-origin: 100% 100%; -moz-transform-origin: 100% 100%; -ms-transform-origin: 100% 100%; -o-transform-origin: 100% 100%; transform-origin :100% 100%; } 

Меняя углы поворота и радиусы, можно создавать различные варианты сердец.

Пузыри для диалога

Для имитации диалогов в комиксах или мессенджерах используются пузыри с треугольным выступом. Вот пример их реализации на CSS:

 .bubble { position: relative; background: #def; border-radius: 10px; padding: 10px; } .bubble:after { content: ""; position: absolute; left: 50%; bottom: -20px; width: 0; height: 0; border: 20px solid transparent; border-top-color: #def; border-bottom: 0; margin-left: -20px; } 

Здесь основной прямоугольный блок задает фон пузыря, а псевдоэлемент с треугольной границей создает выступ. По аналогии можно сделать пузыри других форм.

Пасхальные яйца

А вот еще забавный пример пасхального яйца, сделанного при помощи градиента и трансформации скругленного прямоугольника:

 .egg { display: block; width: 126px; height: 180px; background: linear-gradient(to right, #F8B232 0%, #F8B232 20%, #FCD462 20%, #FCD462 40%, #F8B232 40%, #F8B232 60%, #FCD462 60%, #FCD462 80%, #F8B232 80%, #F8B232 100%); -webkit-border-radius: 63px 63px 63px 63px / 108px 108px 72px 72px; border-radius: 50% 50% 50% 50% / 60% 60% 40% 40%; -moz-transform: rotate(-15deg) translate(-10px,0px); -ms-transform: rotate(-15deg) translate(-10px,0px); -webkit-transform: rotate(-15deg) translate(-10px,0px); -o-transform: rotate(-15deg) translate(-10px,0px); transform: rotate(-15deg) translate(-10px,0px); } 

Как видите, возможности CSS позволяют воплотить в жизнь самые смелые идеи!

css фигуры

Анимация фигур

Статичные геометрические фигуры на CSS выглядят красиво, но еще более эффектно смотрится их анимация. Рассмотрим несколько примеров оживления фигур с помощью CSS-анимаций.

Движущиеся стрелки

Уже упомянутые выше треугольные стрелки легко анимировать. Добавим им, например, покачивание влево-вправо:

 @keyframes swing { 0% {transform: rotate(0deg);} 25% {transform: rotate(10deg);} 75% {transform: rotate(-10deg);} 100% {transform: rotate(0deg);} } .triangle { animation: swing 1s infinite ease-in-out; } 

Задав ключевые кадры анимации и привязав ее к элементу, мы заставили стрелку раскачиваться как маятник. Такой эффект часто используют в меню и на кнопках для привлечения внимания.

Мерцающая гирлянда

Новогоднюю мигающую гирлянду тоже можно легко реализовать средствами CSS. Вот пример кода для звездочки:

 .star { animation: blink 2s infinite; } @keyframes blink { 50% { opacity: 0; } } 

Здесь анимация просто меняет прозрачность элемента от 1 до 0 и обратно, создавая эффект мерцания. Добавив несколько звезд с разной задержкой анимации, получим полноценную гирлянду.

Другие анимации фигур

Кроме движения и мерцания, фигуры можно заставлять вращаться, изменять цвет, размер и форму. К примеру, круг может превращаться в квадрат или звезду. Возможности CSS позволяют воплотить практически любые идеи анимации.

Применение фигур в веб-дизайне

Помимо простого украшения страниц, геометрические фигуры на CSS можно активно использовать в веб-дизайне, например:

  • В оформлении меню и кнопок
  • Для создания фоновых узоров
  • В баннерах и логотипах
  • В элементах навигации
  • Для выделения блоков контента

Меню и кнопки

Фигуры часто добавляют элементам интерфейса дополнительную выразительность. К примеру, кнопки могут иметь необычную форму ромба или звезды. А пункты меню - дополняться маленькими треугольными стрелочками-указателями.

Фоновые узоры

Разместив фигуры в фоновом рисунке, можно создать интересные текстуры для страниц сайта. Это могут быть повторяющиеся геометрические орнаменты, имитирующие обои или ткань. Такие фоны выглядят стильно и современно.

Оформление баннеров

Яркая подборка геометрических фигур отлично подойдет для баннеров, тизеров и других рекламных форматов. С их помощью можно привлекать внимание, выделяться, запоминаться. Не зря фигуры часто используются в логотипах.

Креатив с CSS-фигурами

В заключение давайте разбудим фантазию и посмотрим несколько креативных примеров использования геометрических фигур в веб-дизайне. Это может стать отличным источником вдохновения для ваших проектов!

Статья закончилась. Вопросы остались?
Комментарии 0
Подписаться
Я хочу получать
Правила публикации
Редактирование комментария возможно в течении пяти минут после его создания, либо до момента появления ответа на данный комментарий.