CSS clip-path — обрізання елемента за фігурою
CSS властивість clip-path обрізає елемент за заданою фігурою — видимою лишається тільки внутрішня частина.
автор: NagarD
Загальний опис
На відміну від border-radius, який уміє лише скруглювати кути, clip-path вирізає що завгодно: коло, еліпс, багатокутник, довільний SVG-шлях.
Обрізане не просто ховається — воно перестає ловити кліки: миша проходить крізь вирізану частину.
Фігуру можна анімувати, якщо кількість точок збігається — так роблять ефектні переходи між формами.
автор: NagarD
- Порада
-
Круглий аватар простіше зробити через border-radius: 50%, а от косий зріз чи шестикутник — уже тільки clip-path: polygon(...).
автор: NagarD
Синтаксис
clip-path: none | <basic-shape> | <url>;
Властивість clip-path
може отримувати 4 значень:
-
none
-
Без обрізання.
автор: NagarD
-
basic-shape
-
Фігура: circle(), ellipse(), inset(), polygon(), path().
автор: NagarD
-
url
-
Посилання на SVG-елемент .
автор: NagarD
-
geometry-box
-
Рамка обрізання: border-box, padding-box, content-box…
автор: NagarD
Переглядачі
Приклади
+ запропонувати свій приклад у пісочниці
Косий зріз секції й кругле прев'ю.
HTML
<img class="avatar" src="/img/logo.svg" alt="">
<section class="slanted">Секція з косим зрізом</section>
CSS
.avatar {
width: 120px;
clip-path: circle(50%);
}
.slanted {
padding: 3rem 1rem;
background: #0172ad;
color: #fff;
clip-path: polygon(0 0, 100% 0, 100% 85%, 0 100%);
}
автор: NagarD