clip-path - примеры использования
5.0 ☑ ☒
Свойство CSS clip-path создает область отсечения, которая устанавливает, какая часть элемента должна отображаться.
Нужно помнить что части находящиеся внутри области - отображаются, а те, что снаружи, скрыты.
По сути мы должны указать координаты точек, через запятую, по которым произойдет обрезка.
Способы которыми можно сделать обрезку:
/* Keyword values */ clip-path: none; /* <clip-source> values */ clip-path: url(imag.png); /* <geometry-box> values */ clip-path: margin-box; clip-path: border-box; clip-path: padding-box; clip-path: content-box; clip-path: fill-box; clip-path: stroke-box; clip-path: view-box; /* <basic-shape> values */ clip-path: inset(100px 50px); clip-path: circle(50px at 0 100px); clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%); clip-path: path('M0.5,1 C0.5,1,0,0.7,0,0.3 A0.25,0.25,1,1,1,0.5,0.3 A0.25,0.25,1,1,1,1,0.3 C1,0.7,0.5,1,0.5,1 Z'); /* Box and shape values combined */ clip-path: padding-box circle(50px at 0 100px); /* Global values */ clip-path: inherit; clip-path: initial; clip-path: unset;
Формы могут быть созданы с помощью функций фигур в модуле CSS Shapes.
Популярные функции формы:
- {clip-path: circle(40%);}
- {clip-path: ellipse(130px 140px at 10% 20%);}
- {clip-path: polygon(50% 0, 100% 50%, 50% 100%, 0 50%);}
Вот как это работает:
Плюсы
- Браузеры, которые не поддерживают свойство clip-path, будут его игнорировать. Если вы используете свойство осторожно, пользователи с неподдерживаемыми браузерами ничего не заподозрят!
- После создания обтравочного контура спецификация заявляет, что события указателя не должны отправляться за пределы области отсечения (что идеально). Таким образом, события щелчка ограничены фигурой и её внешней границей.
- Вы можете использовать проценты или любую единицу длины, например пиксели или em, для определения координат базовых фигур с помощью CSS. Гибкие единицы, такие как проценты, могут использоваться для создания отзывчивых фигур, идеально подходящих для адаптивных макетов.
Програмы для генирации фигур "clip-path"
- https://bennettfeely.com/clippy/
- http://www.cssplant.com/clip-path-generator
Самый яркий пример - это создание треугольника, не обичным методом, а через clip-path:
Пример №1 - треугольника:
img { clip-path: polygon(50% 0%, 0% 100%, 100% 100%);}
Пример того что можно сделать:
Пример 1

Пример 2

Виконуваний код:
Пример 1

Пример 2

Дополнительная информация:
https://www.w3.org/TR/css-masking-1/
Chrome | Edge | Firefox | Internet | Opera | Safari |
55 | 12 | 3.5 | 10 | 49 | 9.1 |
Android | Chrome | Edge | Firefox | Opera | Safari | Samsung |
55 | 55 | ? | 4 | 42 | 9.3 | 6 |
Провірити на сайті developer.mozilla.org