Swiftorial Logo
Home
Swift Lessons
Matchups
CodeSnaps
Tutorials
Career
Resources

HTML CSS - CSS Clipping and Masking

Using clipping and masking in CSS

CSS clipping and masking allow you to create complex visual effects by controlling the visibility of parts of an element. This tutorial covers advanced techniques for using clipping and masking in CSS, including clip-path and mask properties.

Key Points:

  • CSS clipping allows you to create custom shapes and control which parts of an element are visible.
  • CSS masking enables you to use images and gradients to define the visible area of an element.
  • Understanding clipping and masking enhances your ability to create complex visual effects.

Clip-path Property

The clip-path property allows you to create custom shapes by defining the visible area of an element. Here are some examples:

Circle

Circle

.clip-circle {
    clip-path: circle(50%);
}
            

Ellipse

Ellipse

.clip-ellipse {
    clip-path: ellipse(50% 25%);
}
            

Polygon

Polygon

.clip-polygon {
    clip-path: polygon(50% 0%, 100% 50%, 50% 100%, 0% 50%);
}
            

Mask Property

The mask property allows you to use images and gradients to control the visibility of an element. Here are some examples:

Image Mask

Image Mask

.mask-image {
    mask-image: url('https://via.placeholder.com/300');
    mask-size: cover;
    -webkit-mask-image: url('https://via.placeholder.com/300');
    -webkit-mask-size: cover;
}
            

Gradient Mask

Gradient Mask

.mask-gradient {
    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0));
    -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0));
}
            

Combining Clipping and Masking

You can combine clipping and masking to create complex visual effects. Here is an example:

Combined

.combined {
    clip-path: circle(50%);
    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0));
    -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0));
}
            

Browser Support

Clipping and masking have varying levels of support across different browsers. Ensure you test your designs across multiple browsers and use vendor prefixes where necessary. Here is an example of using vendor prefixes:


.example {
    clip-path: circle(50%);
    -webkit-clip-path: circle(50%);
    mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0));
    -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 1), rgba(0, 0, 0, 0));
}
            

Summary

In this tutorial, you learned how to use clipping and masking in CSS to create complex visual effects. You explored using the clip-path property to create custom shapes and the mask property to control the visibility of elements using images and gradients. Understanding and applying these techniques will enable you to enhance the visual appeal and creativity of your web designs.