102 of 313 menu

Propriedade clip-path

A propriedade clip-path define a região de exibição de um elemento, recortando-o de acordo com uma forma especificada. Ela aceita como parâmetro uma função de recorte ou um caminho SVG.

Sintaxe

seletor { clip-path: função de recorte; }

Valores

Valor Descrição
circle Recorta o elemento em um círculo. Parâmetros: raio e posição do centro.
ellipse Recorta o elemento em uma elipse. Parâmetros: raios X/Y e posição do centro.
polygon Recorta o elemento em um polígono. Parâmetros: coordenadas dos pontos separados por vírgula.
url Usa um caminho SVG para recortar. Parâmetro: ID do caminho no SVG.
path Recorta o elemento usando uma string de dados de caminho SVG. Parâmetro: string do caminho SVG.
inset Recorta o elemento com um retângulo com a possibilidade de cantos arredondados. Parâmetros: margens superior, direita, inferior, esquerda e raio de arredondamento.
margin-box Usa a margem externa (margin) do elemento como área de recorte.
border-box Usa a borda (border) do elemento como área de recorte.
padding-box Usa o preenchimento interno (padding) do elemento como área de recorte.
content-box Usa o conteúdo (content) do elemento como área de recorte.
none Desativa o recorte (valor padrão).

Exemplo

Vamos recortar um elemento em um hexágono:

<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%); }

:

Exemplo

Vamos recortar um elemento em um círculo:

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

:

Exemplo

Vamos recortar um elemento em uma elipse:

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

:

Exemplo

Vamos recortar um elemento com cantos arredondados:

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

:

Exemplo

Vamos recortar um elemento usando um caminho:

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

:

Exemplo

Usando um caminho SVG para recorte complexo:

<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); }

:

Exemplo . Triângulo

Vamos recortar em forma de triângulo:

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

:

Exemplo . Formas combinadas

Criando uma forma complexa:

<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% ); }

:

Exemplo . Texto com recorte

Vamos recortar um bloco de texto:

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

:

Exemplo . Recorte circular de imagem

Recortando uma imagem em um círculo:

<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; }

:

Exemplo . Recorte em forma de estrela de imagem

Recortando uma imagem em forma de estrela de cinco pontas:

<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; }

:

Exemplo . Recorte hexagonal de imagem

Recortando uma imagem em forma de hexágono:

<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; }

:

Exemplo . Recorte em forma de coração

Recortando uma imagem em forma de coração:

<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; }

:

Exemplo . Recorte de imagem ao passar o mouse

Alterando a forma do recorte ao passar o mouse:

<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% ); }

:

Veja também

  • a propriedade clip,
    que permite recortar um retângulo
  • a propriedade mask,
    que permite criar máscaras complexas para elementos
  • a propriedade shape-outside,
    que define a forma do fluxo do texto ao redor
  • a propriedade filter,
    que aplica efeitos gráficos aos elementos
denluzplms