<clipPath>

Baseline Widely available

This feature is well established and works across many devices and browser versions. It’s been available across browsers since January 2021.

L'élément SVG <clipPath> définit un détourage. Ce détourage peut par la suite être appliqué sur une forme en utilisant la propriété clip-path.

Le détourage limite la zone dans laquelle l'élément sur lequel il est appliqué sera dessiné. Autrement dit, les parties de l'élément en dehors de la forme créée par le détourage ne seront pas affichées.

Exemple

html
<svg viewBox="0 0 100 100">
  <clipPath id="myClip">
    <!-- La forme créée par le détourage est un simple cercle. -->
    <circle cx="40" cy="35" r="35" />
  </clipPath>

  <!-- Le coeur sans détourage, pour référence -->
  <path
    id="heart"
    d="M10,30 A20,20,0,0,1,50,30 A20,20,0,0,1,90,30 Q90,60,50,90 Q10,60,10,30 Z" />

  <!--
    Le coeur avec détourage.
    Seule la partie à l'intérieur du cercle est visible.
  -->
  <use clip-path="url(#myClip)" xlink:href="#heart" fill="red" />
</svg>
css
/* Animation CSS pour les navigateurs *
 * qui implémentent la propriété de géométrie r. */

@keyframes openYourHeart {
  from {
    r: 0;
  }
  to {
    r: 60px;
  }
}

#myClip circle {
  animation: openYourHeart 15s infinite;
}

Sur le plan conceptuel, un détourage est un peu comme une zone d'affichage personnalisée pour l'élément sur lequel il est appliqué. Cela va limiter la zone dans laquelle l'élément est affiché, sans affecter sa géométrie (position, taille, etc).

La zone de sélection d'un élément détouré (c'est à dire un élément qui référence un <clipPath> via la propriété clip-path, ou un de ses enfant) reste la même, comme s'il n'était pas tronqué.

Par défaut, les événements de pointeur ne sont pas déclenchés sur les régions détourées (non visibles) d'une forme. Par exemple, un cercle avec un rayon de 10 qui est détouré à un cercle de rayon 5, ne recevra pas d'événement "click" en dehors de ce rayon de 5. Ce comportement peut être modifié avec la propriété pointer-events.

Attributs

clipPathUnits

Cet attribut définit le système de coordonnées pour le contenu de l'élément <clipPath>. Valeur: userSpaceOnUse|objectBoundingBox ; Valeur par défaut: userSpaceOnUse; Animation: oui

Attributs globaux

Notes d'usage

CatégoriesAucune
Contenu autoriséTout élément de cette liste, quel qu'en soit l'ordre :
Éléments d'animation
Éléments descriptifs
Éléments de formes
<text>, <use>

Spécifications

Specification
CSS Masking Module Level 1
# ClipPathElement

Compatibilité des navigateurs

BCD tables only load in the browser

Voir aussi