A mask-composite tulajdonság

A mask-composite tulajdonság lehetővé teszi egy elemre alkalmazott több maszk kombinálását. Meghatározza, hogy a különböző maszkok hogyan lépjenek kölcsönhatásba egymással egymásra helyezésük során.

Szintaxis

cssselector {
  mask-composite: <compositing-operator>#;
}

Értékek

Érték Leírás
add Az eredmény az összes maszk egyesítése (alapértelmezett).
subtract A második maszk kivonódik az elsőből.
intersect Csak a maszkok metszetének területe jelenik meg.
exclude A maszkok számára nem közös területek jelennek meg.

Példa . Add mód

Két maszk egyesítése (szív és nyíl):

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

Результат:

Példa . Subtract mód

Nyíl kivonása a szívből:

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

Результат:

Példa . Intersect mód

Csak a maszkok metszetének területének megjelenítése:

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

Результат:

Példa . Exclude mód

A nem közös területek megjelenítése:

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

Результат:

Példa . Kombináció gradiensekkel

Használat gradiens maszkokkal:

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

Результат:

Lásd még

  • a mask-image tulajdonság,
    maszkokhoz használt képeket határoz meg
  • a mask tulajdonság,
    rövidítés az összes maszkoló tulajdonságra
  • a mask-mode tulajdonság,
    a maszk összetevési módját határozza meg
  • a mix-blend-mode tulajdonság,
    az elemek összetevési módját határozza meg