mask-composite Özelliği

mask-composite özelliği, bir öğeye uygulanan birden fazla maskenin birleştirilmesine olanak tanır. Farklı maskelerin üst üste bindirildiğinde birbirleriyle nasıl etkileşime gireceğini belirler.

Sözdizimi

cssseçici {
  mask-composite: <compositing-operator>#;
}

Değerler

Değer Açıklama
add Sonuç, tüm maskelerin birleşimidir (varsayılan).
subtract İkinci maske, birinciden çıkarılır.
intersect Yalnızca maskelerin kesişim alanı görüntülenir.
exclude Maskeler için ortak olmayan alanlar görüntülenir.

Örnek . add Modu

İki maskenin birleşimi (kalp ve ok):

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;
}

Результат:

Örnek . subtract Modu

Okun kalpten çıkarılması:

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;
}

Результат:

Örnek . intersect Modu

Yalnızca maskelerin kesişim alanının görüntülenmesi:

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;
}

Результат:

Örnek . exclude Modu

Ortak olmayan alanların görüntülenmesi:

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;
}

Результат:

Örnek . Gradyanlarla Kombinasyon

Gradyan maskeleri ile kullanım:

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;
}

Результат:

Ayrıca Bakınız

  • mask-image özelliği,
    maskeler için görüntüleri belirler
  • mask özelliği,
    tüm maskeleme özellikleri için kısa yazım
  • mask-mode özelliği,
    maskenin karışım modunu belirler
  • mix-blend-mode özelliği,
    öğelerin karışım modunu belirler