<clipPath>
Baseline Widely available
This feature is well established and works across many devices and browser versions. It’s been available across browsers since July 2015.
The<clipPath>SVG element defines a clipping path, to be used by theclip-path property.
A clipping path restricts the region to which paint can be applied. Conceptually, parts of the drawing that lie outside of the region bounded by the clipping path are not drawn.
In this article
Usage context
| Categories | None |
|---|---|
| Permitted content | Any number of the following elements, in any order: Animation elements Descriptive elements Shape elements <text>,<use> |
Attributes
clipPathUnitsDefines the coordinate system for the contents of the
<clipPath>element.Value type:userSpaceOnUse|objectBoundingBox;Default value:userSpaceOnUse;Animatable:yes
DOM Interface
This element implements theSVGClipPathElement interface.
Example
html,body,svg { height: 100%;}<svg viewBox="0 0 100 100"> <clipPath> <!-- Everything outside the circle will be clipped and therefore invisible. --> <circle cx="40" cy="35" r="35" /> </clipPath> <!-- The original black heart, for reference --> <path 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" /> <!-- Only the portion of the red heart inside the clip circle is visible. --> <use clip-path="url(#myClip)" href="#heart" fill="red" /></svg>/* With a touch of CSS for browsers who * * implemented the r Geometry Property. */@keyframes openYourHeart { from { r: 0; } to { r: 60px; }}#myClip circle { animation: openYourHeart 15s infinite;}A clipping path is conceptually equivalent to a custom viewport for the referencing element. Thus, it affects therendering of an element, but not the element'sinherent geometry. The bounding box of a clipped element (meaning, an element which references a<clipPath> element via aclip-path property, or a child of the referencing element) must remain the same as if it were not clipped.
By default,pointer-events are not dispatched on clipped regions. For example, a circle with a radius of10 which is clipped to a circle with a radius of5 will not receive "click" events outside the smaller radius.
Specifications
| Specification |
|---|
| CSS Masking Module Level 1> # ClipPathElement> |
Browser compatibility
See also
<mask>- CSS
clip-pathproperty - Introduction to CSS clipping
- CSS masking module