Генератор clip-path

clip-path обрезает элемент по произвольной фигуре: скошенный угол у секции, шестиугольная аватарка, диагональный разделитель между блоками — всё это делается одним свойством, без картинок и масок.

Фигура

Точки многоугольника перетаскиваются мышью. Двойной клик по полотну добавляет точку, двойной клик по точке удаляет её.

Готовый CSS

—

Разобрать чужое значение

Вставьте clip-path — фигура подставится в предпросмотр.

Четыре функции и любая форма

Свойство clip-path обрезает элемент по произвольной фигуре: скошенный угол у секции, шестиугольная аватарка, диагональный разделитель между блоками. Всё это делается одним правилом, без картинок, масок и лишней разметки. Обрезанная часть исчезает целиком, включая фон, рамку и тень.

Фигуру задают одной из функций. Функция circle рисует круг с заданным радиусом и центром, ellipse — эллипс с двумя радиусами, inset — прямоугольник с отступами от краёв и собственным скруглением, polygon — многоугольник по списку точек в процентах от размеров элемента. Инструмент даёт двигать точки и сразу показывает результат.

Кликами и наведением обрезанная часть тоже не ловится: элемент перестаёт реагировать за пределами фигуры. Это удобно, когда фигурная кнопка не должна перехватывать нажатия своим невидимым прямоугольником.

Трафарет
Трафарет: краска ложится только там, где есть отверстие, — ровно логика clip-path. Фото: Lucasbosch, CC BY-SA 3.0.
ФункцияЧто рисуетПример
circle()Кругcircle(50% at 50% 50%)
ellipse()Эллипсellipse(40% 30%)
inset()Прямоугольник с отступамиinset(10px round 8px)
polygon()Многоугольник по точкамpolygon(50% 0, 100% 100%, 0 100%)

От трафарета до алгоритмов отсечения

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

В машинную графику отсечение пришло вместе с первыми векторными дисплеями: алгоритм Коэна — Сазерленда, описанный в шестидесятые, отсекал линии по границам окна, чтобы не рисовать то, что за экраном. Позже появился алгоритм Сазерленда — Ходжмана для отсечения многоугольников, и он до сих пор лежит в основе растеризации.

В вебе первым появилось свойство clip, работавшее только с прямоугольниками и только для абсолютно позиционированных элементов. Его признали устаревшим, и на смену пришёл clip-path из модуля CSS Masking: он умеет произвольные фигуры и работает с любым элементом. Соседнее свойство mask работает похоже, только форму там задаёт картинка или градиент вместо геометрической функции, — так делают мягкие растворяющиеся края.

Трафаретная печать
Шелкография: сетка с непроницаемыми участками задаёт форму отпечатка. Фото: Викисклад, CC0.
Векторный дисплей
Векторные дисплеи рисовали линии лучом, и всё за границей окна приходилось отсекать вычислением. Фото: Gregory Lloyd, CC BY-SA 4.0.

Как задать фигуру и вернуть ей тень

Для скошенного угла секции возьмите многоугольник из четырёх точек и сдвиньте одну по горизонтали: получится диагональ. Для аватарки хватит круга с радиусом 50 процентов. Точки в polygon пишутся по часовой стрелке, координаты — от левого верхнего угла элемента.

Тени и рамки обрезаются вместе с элементом, поэтому box-shadow на фигурной карточке не будет виден. Обходят это внешней обёрткой с фильтром drop-shadow: он строит тень по реальному контуру. И проверьте результат на узком экране — проценты пересчитываются от размера, и на телефоне диагональ может стать почти вертикальной. Скруглить обычную карточку проще через генератор border-radius. Фигуру можно анимировать, если у обоих состояний одинаковое число точек: браузер интерполирует координаты, и многоугольник плавно перетекает в другой. При разном числе точек переход происходит скачком. Значение задают и через ключевые слова border-box, padding-box, content-box: тогда фигура обрезается по соответствующей рамке элемента без перечисления координат.

Держите в голове доступность. Обрезанный текст никуда не девается для программ чтения с экрана: они прочитают всё, включая невидимую часть. Если фрагмент не нужен читателю, убирайте его из разметки; фигура его только прячет.

Функций фигурчетыре
Координатыот левого верхнего угла
Точки многоугольникапо часовой стрелке
Обрезаетсяфон, рамка, тень
Нажатия за фигуройне ловятся
Предшественниксвойство clip
Алгоритм отсеченияСазерленда — Ходжмана
Тень для фигурыfilter: drop-shadow

Как пользоваться

Точки многоугольника здесь перетаскиваются мышью прямо по предпросмотру, а координаты пересчитываются в проценты, поэтому фигура остаётся правильной при любом размере блока. Кроме многоугольника доступны круг, эллипс и прямоугольник со скруглением. Готовое свойство копируется одной кнопкой.

  1. Многоугольник для скосов и звёзд, круг и эллипс для аватарок, inset для рамок со скруглением.
  2. У многоугольника точки двигаются мышью прямо по предпросмотру. Двойной клик добавляет новую.
  3. Скос, стрелка, шестиугольник, ромб, звезда — дальше их можно доработать.
  4. Готовое свойство под предпросмотром, координаты в процентах.

Частые вопросы

Проценты или пиксели

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

Чем clip-path отличается от overflow: hidden

overflow обрезает только по прямоугольнику блока с учётом скругления. clip-path режет по любой фигуре, включая вогнутые, и обрезает сам элемент целиком. При этом обрезанная область перестаёт ловить клики: событие мыши в отрезанном углу не дойдёт до элемента.

Можно ли анимировать clip-path

Да, но только между фигурами одного типа и с одинаковым числом точек. Многоугольник из четырёх точек не превратится плавно в многоугольник из шести — браузер не знает, куда деть лишние. Приём: держать одинаковое число точек и просто двигать их, дублируя вершины там, где угол не меняется.

Почему тень пропала после обрезки

box-shadow рисуется вокруг прямоугольника блока, а clip-path отрезает всё за пределами фигуры, включая тень. Решение — обернуть элемент в родителя и повесить тень на него через filter: drop-shadow: этот фильтр обводит уже обрезанный контур.

Как сделать диагональный разделитель секций

Многоугольником из четырёх точек, где верхние или нижние вершины смещены по вертикали. Например polygon(0 0, 100% 0, 100% 92%, 0 100%) даёт скос нижнего края. Такой приём легче картинки и перестраивается под любую ширину.

Работает ли clip-path в старых браузерах

Базовые фигуры поддерживаются всеми актуальными браузерами больше пяти лет. В браузере, который свойство не понял, элемент просто останется прямоугольным — вёрстка не разваливается, теряется только форма. Поэтому критичные элементы вроде кнопок обрезать не стоит.

Спросите нейросети об инструменте

Отвечает DeepSeek по данным этой страницы и тому, что у вас сейчас на экране: что делает, как устроен, ограничения

Похожие инструменты

Генератор border-radius

Скругление каждого угла отдельно, эллиптические радиусы через слэш, проценты и пиксели. Собирает самую короткую запись из возможных.

Открыть
Калькулятор CSS clamp()

Адаптивный размер по двум точкам без медиазапросов. С графиком роста и проверкой требования доступности о масштабировании.

Открыть
Конвертер CSS-единиц

px в rem, em, pt, проценты, vw и vh при своём базовом размере шрифта и вьюпорте; таблица типовых размеров и генератор clamp() для плавного шрифта.

Открыть
Генератор CSS-анимации

Больше двадцати эффектов появления, внимания и движения. Выдаёт и правило keyframes, и свойство animation целиком.

Открыть
Генератор CSS filter

Размытие, яркость, контраст, насыщенность, оттенок, сепия и тень по контуру. Предпросмотр на своей картинке, файл остаётся в браузере.

Открыть
Генератор CSS transform

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

Открыть

Ещё генераторы

Пароли и тестовые данные, CSS-градиенты, тени и скругления, clip-path и фильтры, анимации, Flexbox и Grid — в разделе 39 генераторов.