
- CSS - Home
- CSS - Roadmap
- CSS - Introduction
- CSS - Syntax
- CSS - Inclusion
- CSS - Types
- CSS - Measurement Units
- CSS - Selectors
- CSS - Colors
- CSS - Backgrounds
- CSS - Fonts
- CSS - Text
- CSS - Images
- CSS - Links
- CSS - Tables
- CSS - Borders
- CSS - Border Block
- CSS - Border Inline
- CSS - Margins
- CSS - Lists
- CSS - Padding
- CSS - Cursor
- CSS - Outlines
- CSS - Dimension
- CSS - Scrollbars
- CSS - Inline Block
- CSS - Dropdowns
- CSS - Visibility
- CSS - Overflow
- CSS - Clearfix
- CSS - Float
- CSS - Arrows
- CSS - Resize
- CSS - Quotes
- CSS - Order
- CSS - Position
- CSS - Hyphens
- CSS - Hover
- CSS - Display
- CSS - Focus
- CSS - Zoom
- CSS - Translate
- CSS - Height
- CSS - Hyphenate Character
- CSS - Width
- CSS - Opacity
- CSS - Z-Index
- CSS - Bottom
- CSS - Navbar
- CSS - Overlay
- CSS - Forms
- CSS - Align
- CSS - Icons
- CSS - Image Gallery
- CSS - Comments
- CSS - Loaders
- CSS - Attr Selectors
- CSS - Combinators
- CSS - Root
- CSS - Box Model
- CSS - Counters
- CSS - Clip
- CSS - Writing Mode
- CSS - Unicode-bidi
- CSS - min-content
- CSS - All
- CSS - Inset
- CSS - Isolation
- CSS - Overscroll
- CSS - Justify Items
- CSS - Justify Self
- CSS - Tab Size
- CSS - Pointer Events
- CSS - Place Content
- CSS - Place Items
- CSS - Place Self
- CSS - Max Block Size
- CSS - Min Block Size
- CSS - Mix Blend Mode
- CSS - Max Inline Size
- CSS - Min Inline Size
- CSS - Offset
- CSS - Accent Color
- CSS - User Select
- CSS - Cascading
- CSS - Universal Selectors
- CSS - ID Selectors
- CSS - Group Selectors
- CSS - Class Selectors
- CSS - Child Selectors
- CSS - Element Selectors
- CSS - Descendant Selectors
- CSS - General Sibling Selectors
- CSS - Adjacent Sibling Selectors
- CSS Advanced
- CSS - Grid
- CSS - Grid Layout
- CSS - Flexbox
- CSS - Visibility
- CSS - Positioning
- CSS - Layers
- CSS - Pseudo Classes
- CSS - Pseudo Elements
- CSS - @ Rules
- CSS - Text Effects
- CSS - Paged Media
- CSS - Printing
- CSS - Layouts
- CSS - Validations
- CSS - Image Sprites
- CSS - Important
- CSS - Data Types
- CSS3 Advanced Features
- CSS - Rounded Corner
- CSS - Border Images
- CSS - Multi Background
- CSS - Color
- CSS - Gradients
- CSS - Box Shadow
- CSS - Box Decoration Break
- CSS - Caret Color
- CSS - Text Shadow
- CSS - Text
- CSS - 2d transform
- CSS - 3d transform
- CSS - Transition
- CSS - Animation
- CSS - Multi columns
- CSS - Box Sizing
- CSS - Tooltips
- CSS - Buttons
- CSS - Pagination
- CSS - Variables
- CSS - Media Queries
- CSS - Functions
- CSS - Math Functions
- CSS - Masking
- CSS - Shapes
- CSS - Style Images
- CSS - Specificity
- CSS - Custom Properties
- CSS Responsive
- CSS RWD - Introduction
- CSS RWD - Viewport
- CSS RWD - Grid View
- CSS RWD - Media Queries
- CSS RWD - Images
- CSS RWD - Videos
- CSS RWD - Frameworks
- CSS References
- CSS Interview Questions
- CSS Online Quiz
- CSS Online Test
- CSS Mock Test
- CSS - Quick Guide
- CSS - Cheatsheet
- CSS - Properties References
- CSS - Functions References
- CSS - Color References
- CSS - Web Browser References
- CSS - Web Safe Fonts
- CSS - Units
- CSS - Animation
- CSS Resources
- CSS - Useful Resources
- CSS - Discussion
CSS - mask-composite Property
CSS mask-composite property defines how a mask image is composited with othe mask layer images. It specifies how the mask layers interact with each other, particularly when multiple mask layers are used.
Syntax
mask-composite: add | subtract | intersect | exclude | initial | inherit;
Property Values
Value | Description |
---|---|
add | It combines mask layers by placing the top mask above the bottom mask. Default. |
subtract | It removes the parts of the top mask from the bottom mask, making areas where the top mask is present more transparent. |
intersect | It shows only the areas where both masks overlap. |
exclude | It hides the areas where the masks overlap and shows only the parts where the masks do not overlap. |
initial | It sets the property to its default value. |
inherit | It inherits the property from the parent element. |
Examples of CSS Mask Composite Property
The following examples explain the mask-composite property with different values.
Mask Composite Property with Add Value
To combine different mask images so that the top mask image is added to the bottom mask image, we use the add value. Any area covered by either mask will be visible. This is shown in the following example.
Example
<!DOCTYPE html> <html> <head> <style> .box { width: 200px; height: 200px; background-color: gray; -webkit-mask-image: url(/css/images/book.png), url(/css/images/heart.png); mask-image: url(/css/images/book.png), url(/css/images/heart.png); -webkit-mask-repeat: no-repeat, no-repeat; mask-repeat: no-repeat, no-repeat; -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-composite: add; mask-composite: add; } .items { display: flex; gap: 30px } </style> </head> <body> <h2> CSS mask-composite property </h2> <h4> mask-composite: add </h4> <div class="box"></div> <h4> Images used: </h4> <div class="items"> <img src="/css/images/book.png" height=50 width=50> <img src="/css/images/heart.png" height=50 width=50> </div> </body> </html>
Mask Composite Property with Subtract Value
To combine different mask images so that the parts of the top mask from the bottom mask, we use the subtract value. It makes the areas where the top mask is present more transparent. This is shown in the following example.
Example
<!DOCTYPE html> <html> <head> <style> .box { width: 200px; height: 200px; background-color: gray; -webkit-mask-image: url(/css/images/book.png), url(/css/images/heart.png); mask-image: url(/css/images/book.png), url(/css/images/heart.png); -webkit-mask-repeat: no-repeat, no-repeat; mask-repeat: no-repeat, no-repeat; -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-composite: add; mask-composite: subtract; } .items { display: flex; gap: 30px } </style> </head> <body> <h2> CSS mask-composite property </h2> <h4> mask-composite: subtract </h4> <div class="box"></div> <h4> Images used: </h4> <div class="items"> <img src="/css/images/book.png" height=50 width=50> <img src="/css/images/heart.png" height=50 width=50> </div> </body> </html>
Mask Composite Property with Intersect Value
To combine different mask images so that only the areas where both masks overlap are highlighted, we use the intersect value. This is shown in the following example.
Example
<!DOCTYPE html> <html> <head> <style> .box { width: 200px; height: 200px; background-color: gray; -webkit-mask-image: url(/css/images/book.png), url(/css/images/heart.png); mask-image: url(/css/images/book.png), url(/css/images/heart.png); -webkit-mask-repeat: no-repeat, no-repeat; mask-repeat: no-repeat, no-repeat; -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-composite: add; mask-composite: intersect; } .items { display: flex; gap: 30px } </style> </head> <body> <h2> CSS mask-composite property </h2> <h4> mask-composite: intersect </h4> <div class="box"></div> <h4> Images used: </h4> <div class="items"> <img src="/css/images/book.png" height=50 width=50> <img src="/css/images/heart.png" height=50 width=50> </div> </body> </html>
Mask Composite Property with Exclude Value
To combine different mask images so that the areas where the masks overlap is hidden and shows only the parts where the masks do not overlap, we use the exclude value. This is shown in the following example.
Example
<!DOCTYPE html> <html> <head> <style> .box { width: 200px; height: 200px; background-color: gray; -webkit-mask-image: url(/css/images/book.png), url(/css/images/heart.png); mask-image: url(/css/images/book.png), url(/css/images/heart.png); -webkit-mask-repeat: no-repeat, no-repeat; mask-repeat: no-repeat, no-repeat; -webkit-mask-size: 100% 100%; mask-size: 100% 100%; -webkit-mask-composite: add; mask-composite: exclude; } .items { display: flex; gap: 30px } </style> </head> <body> <h2> CSS mask-composite property </h2> <h4> mask-composite: exclude </h4> <div class="box"></div> <h4> Images used: </h4> <div class="items"> <img src="/css/images/book.png" height=50 width=50> <img src="/css/images/heart.png" height=50 width=50> </div> </body> </html>
Supported Browsers
Property | ![]() | ![]() | ![]() | ![]() | ![]() |
---|---|---|---|---|---|
mask-composite | 120 | 120 | 53 | 15.4 | 106 |