Ιδιότητα mask-composite

Η ιδιότητα mask-composite επιτρέπει το συνδυασμό πολλαπλών μασκών που εφαρμόζονται σε ένα στοιχείο. Ορίζει πώς θα αλληλεπιδρούν μεταξύ τους διαφορετικές μάσκες κατά την επικάλυψή τους.

Σύνταξη

cssεπιλογέας {
  mask-composite: <χειριστής-σύνθεσης>#;
}

Τιμές

Τιμή Περιγραφή
add Αποτέλεσμα - η ένωση όλων των μασκών (προεπιλογή).
subtract Η δεύτερη μάσκα αφαιρείται από την πρώτη.
intersect Εμφανίζεται μόνο η περιοχή τομής των μασκών.
exclude Εμφανίζονται οι περιοχές που δεν είναι κοινές για τις μάσκες.

Παράδειγμα . Λειτουργία add

Ένωση δύο μασκών (καρδιά και βέλος):

html<img id="image" src="image.jpg">
css#image {
  width: 500px;
  height: 281px;
  mask-image: 
    url("heart.svg"),
    url("arrow.svg");
  mask-position: 
    100px 50px,
    200px 30px;
  mask-size: 150px;
  mask-repeat: no-repeat;
  mask-composite: add;
}

Результат:

Παράδειγμα . Λειτουργία subtract

Αφαίρεση του βέλους από την καρδιά:

html<img id="image" src="image.jpg">
css#image {
  width: 500px;
  height: 281px;
  mask-image: 
    url("heart.svg"),
    url("arrow.svg");
  mask-position: 
    100px 50px,
    170px 80px;
  mask-size: 
    250px,
    120px;
  mask-repeat: no-repeat;
  mask-composite: subtract;
}

Результат:

Παράδειγμα . Λειτουργία intersect

Εμφάνιση μόνο της περιοχής τομής των μασκών:

html<img id="image" src="image.jpg">
css#image {
  width: 500px;
  height: 281px;
  mask-image: 
    url("heart.svg"),
    url("arrow.svg");
  mask-position: 
    100px 50px,
    50px 30px;
  mask-size: 150px;
  mask-repeat: no-repeat;
  mask-composite: intersect;
}

Результат:

Παράδειγμα . Λειτουργία exclude

Εμφάνιση περιοχών που δεν είναι κοινές:

html<img id="image" src="image.jpg">
css#image {
  width: 500px;
  height: 281px;
  mask-image: 
    url("heart.svg"),
    url("arrow.svg");
  mask-position: 
    100px 50px,
    50px 30px;
  mask-size: 150px;
  mask-repeat: no-repeat;
  mask-composite: exclude;
}

Результат:

Παράδειγμα . Συνδυασμός με διαβαθμίσεις

Χρήση με μάσκες διαβάθμισης:

html<div id="gradient-box"></div>
css#gradient-box {
  width: 400px;
  height: 400px;
  background: linear-gradient(45deg, red, yellow, green, blue);
  mask-image: 
    radial-gradient(circle at 30% 30%, black 40%, transparent 70%),
    radial-gradient(circle at 70% 70%, black 40%, transparent 70%);
  mask-composite: exclude;
}

Результат:

Δείτε επίσης

  • ιδιότητα mask-image,
    ορίζει εικόνες για μάσκες
  • ιδιότητα mask,
    συντομογραφία για όλες τις ιδιότητες μάσκας
  • ιδιότητα mask-mode,
    ορίζει τη λειτουργία επικάλυψης μάσκας
  • ιδιότητα mix-blend-mode,
    ορίζει τη λειτουργία επικάλυψης στοιχείων