CSS clip-path
It is a basic shape or to an SVG source.It provides a particular region of the element to display, instead of displaying the entire area. The basic shapes – ellipse, circle, polygon, or inset keywords.
Property values:
- clip-source : URL to an SVG <clipPath> element.
- basic-shape : circle, ellipse, polygon or inset .
- margin-box : margin box as the reference box.
- border-box : border box as the reference box.
- padding-box : padding box as the reference box.
- content-box : content box as the reference box.
- fill-box : object bounding box as reference box.
- stroke-box : stroke bounding box as reference box.
- view-box : SVG viewport as reference box.
circle:
Example:
<!DOCTYPE html> <html> <head> </head> <style> .example { clip-path: circle(50%); } .example1{ clip-path: circle(60% at 70% 20%); } </style> <body> <center> <h2> Clip-path property example </h2> <img src="good-morning.jpg" class="example"> <h3>clip-path: circle(50%);</h3> <img src="good-morning.jpg" class="example1"> <h3>clip-path: circle(60% at 70% 20%);</h3> </center> </body> </html>
OUTPUT:
Adding animation:
Example:
<!DOCTYPE html> <html> <head> </head> <style> img.example { animation: anime 4s infinite; border: 5px dashed red; } @keyframes anime { 0% { clip-path: polygon(0 0, 100% 0, 100% 80%, 0% 70%); } 20% { clip-path: polygon(40% 0, 50% 0, 100% 100%, 0% 80%); } 40% { clip-path: polygon(0 0, 60% 72%, 100% 100%, 0 35%); } 60% { clip-path: polygon(70% 0, 20% 0, 100% 100%, 0% 80%); } 80% { clip-path: polygon(0 70%, 60% 0, 100% 32%, 0 40%); } 100% { clip-path: polygon(0 0, 60% 0, 100% 100%, 0% 30%); } } </style> <body> <center> <h2> Animation in Clip-path property </h2> <img src="good-morning.jpg" class="example"> </center> </body> </html>
OUTPUT: