Кнопки являются важным элементом веб-дизайна, и благодаря возможности настраивать их форму вы можете добавить своему веб-сайту нотку уникальности и креативности. В этой статье мы рассмотрим десять методов создания пользовательских форм кнопок с использованием HTML, CSS и JavaScript. Если вам нужны закругленные, треугольные или даже сердечные пуговицы, мы предоставим вам все необходимое!
- Радиус границы CSS:
Свойство border-radius позволяет создавать закругленные кнопки. Отрегулируйте значение, чтобы контролировать закругленность краев кнопки.
.button {
border-radius: 10px;
}
- CSS Clip Path:
Используя свойство clip-path, вы можете определить собственные формы для кнопок. Вот пример треугольной кнопки.
.button {
clip-path: polygon(0 0, 100% 0, 50% 100%);
}
- Фон SVG.
Используя SVG в качестве фона, вы можете создавать кнопки любой формы. Формы SVG можно найти в Интернете или создать свои собственные.
.button {
background: url('path/to/shape.svg');
}
- Преобразование CSS.
Применяйте преобразования CSS для поворота, масштабирования или наклона кнопок для создания уникальных фигур.
.button {
transform: rotate(45deg);
}
- Градиенты CSS.
Используйте градиенты CSS в сочетании с border-radius для создания кнопок произвольной формы с градиентной заливкой.
.button {
background: linear-gradient(red, blue);
border-radius: 50%/20% 80% 60% 40%;
}
- Путь SVG.
Создавайте кнопки сложной формы с помощью элементов пути SVG.
<svg>
<path d="M10 80 C 40 10, 65 10, 95 80 S 150 150, 180 80" />
</svg>
- Псевдоэлементы CSS:
Используйте псевдоэлементы CSS, такие как ::before и ::after, для добавления дополнительных фигур к кнопкам.
.button::after {
content: "";
width: 10px;
height: 10px;
background: red;
border-radius: 50%;
}
- Элемент Canvas.
Используйте JavaScript и элемент Canvas HTML для динамического рисования пользовательских форм кнопок.
const canvas = document.getElementById('canvas');
const ctx = canvas.getContext('2d');
ctx.beginPath();
ctx.moveTo(75, 50);
ctx.lineTo(100, 75);
ctx.lineTo(100, 25);
ctx.closePath();
ctx.fillStyle = 'blue';
ctx.fill();
- Сетка CSS.
Объединяйте макеты сетки CSS с произвольными формами для создания визуально привлекательного дизайна кнопок.
.container {
display: grid;
place-items: center;
}
.button {
grid-area: 1 / 1;
border-radius: 50%;
}
- Фигуры CSS.
Используйте фигуры CSS, чтобы обтекать текстом пользовательские формы кнопок, создавая интересные визуальные эффекты.
.button {
shape-outside: polygon(0 0, 100% 0, 50% 100%);
}