НОВИНКА!
Занимательная математика от Трепачёва. Присоединяйтесь к нам!
102 of 313 menu

Свойство clip-path

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

Синтаксис

селектор { clip-path: функция обрезки; }

Значения

Значение Описание
circle Обрезает элемент по кругу. Параметры: радиус и позиция центра.
ellipse Обрезает элемент по эллипсу. Параметры: радиусы по X/Y и позиция центра.
polygon Обрезает элемент по многоугольнику. Параметры: координаты точек через запятую.
url Использует SVG-путь для обрезки. Параметр: ID пути в SVG.
path Обрезает элемент по пути SVG с использованием строки данных пути. Параметр: строка пути SVG.
inset Обрезает элемент прямоугольником с возможностью скругления углов. Параметры: отступы сверху, справа, снизу, слева и радиус скругления.
margin-box Использует внешний отступ (margin) элемента как область обрезки.
border-box Использует границу (border) элемента как область обрезки.
padding-box Использует внутренний отступ (padding) элемента как область обрезки.
content-box Использует содержимое (content) элемента как область обрезки.
none Отключает обрезку (значение по умолчанию).

Пример

Обрежем элемент по шестиугольнику:

<div id="hexagon"></div> #hexagon { width: 200px; height: 200px; background: #3498db; clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%); }

:

Пример

Обрежем элемент по кругу:

<div id="circle"></div> #circle { width: 200px; height: 200px; background: #2ecc71; clip-path: circle(40% at 50% 50%); }

:

Пример

Обрежем элемент по эллипсу:

<div id="ellipse"></div> #ellipse { width: 200px; height: 150px; background: #9b59b6; clip-path: ellipse(25% 40% at 50% 50%); }

:

Пример

Обрежем элемент со скруглением углов:

<div id="inset"></div> #inset { width: 200px; height: 200px; background: #e67e22; clip-path: inset(20% 15% 10% 5% round 10px); }

:

Пример

Обрежем элемент по кругу:

<div id="path"></div> #path { width: 200px; height: 200px; background: #3498db; clip-path: path('M20,20 L180,20 L160,180 L40,180 Z'); }

:

Пример

Использование SVG-пути для сложной обрезки:

<svg width="0" height="0"> <clipPath id="star-path"> <path d="M50 0 L61 35 L98 35 L68 57 L79 92 L50 70 L21 92 L32 57 L2 35 L39 35 Z"/> </clipPath> </svg> <div id="star"></div> #star { width: 100px; height: 100px; background: #e74c3c; clip-path: url(#star-path); }

:

Пример . Треугольник

Обрежем в форме треугольника:

<div id="triangle"></div> #triangle { width: 200px; height: 200px; background: #e74c3c; clip-path: polygon(50% 0%, 0% 100%, 100% 100%); }

:

Пример . Комбинированные фигуры

Создание сложной формы:

<div id="combined"></div> #combined { width: 250px; height: 250px; background: #2ecc71; clip-path: polygon( 0% 0%, 100% 0%, 100% 75%, 75% 75%, 75% 100%, 50% 75%, 0% 75% ); }

:

Пример . Текст с обрезкой

Обрежем текстовый блок:

<div id="text-clip"> <p>CSS clip-path creates amazing effects!</p> </div> #text-clip { width: 300px; padding: 20px; background: #3498db; color: white; font-size: 24px; clip-path: ellipse(120px 80px at 50% 50%); }

:

Пример . Круговая обрезка картинки

Обрезка изображения по кругу:

<div class="image-clip-circle"> <img src="img.png"> </div> .image-clip-circle img { width: 200px; height: 200px; clip-path: circle(50% at center); object-fit: cover; }

:

Пример . Звездообразная обрезка картинки

Обрезка изображения в форме пятиконечной звезды:

<div class="image-clip-star"> <img src="img.png"> </div> .image-clip-star img { width: 200px; height: 200px; clip-path: polygon( 50% 0%, 61% 35%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 35% ); object-fit: cover; }

:

Пример . Шестиугольная обрезка картинки

Обрезка изображения в форме шестиугольника:

<div class="image-clip-hexagon"> <img src="img.png"> </div> .image-clip-hexagon img { width: 200px; height: 200px; clip-path: polygon( 50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25% ); object-fit: cover; }

:

Пример . Обрезка в форме сердца

Обрезка изображения в форме сердца:

<div class="image-clip-heart"> <img src="img.png"> </div> .image-clip-heart img { width: 200px; height: 180px; clip-path: polygon( 50% 15%, 35% 5%, 15% 15%, 10% 35%, 25% 60%, 50% 80%, 75% 60%, 90% 35%, 85% 15%, 65% 5% ); object-fit: cover; }

:

Пример . Обрезка картинки по наведению

Изменение формы обрезки при наведении:

<div class="image-clip"> <img src="img.png"> </div> .image-clip { display: inline-block; } .image-clip img { width: 200px; height: 200px; clip-path: circle(40% at 50% 50%); object-fit: cover; transition: clip-path 0.5s ease; } .image-clip:hover img { clip-path: polygon( 50% 0%, 90% 20%, 100% 60%, 75% 100%, 25% 100%, 0% 60%, 10% 20% ); }

:

Смотрите также

  • свойство clip,
    позволяющее обрезать прямоугольник
  • свойство mask,
    позволяющее создавать сложные маски для элементов
  • свойство shape-outside,
    определяющее форму обтекания текстом
  • свойство filter,
    применяющее графические эффекты к элементам
Русский
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить