თვისება mask-composite

თვისება mask-composite საშუალებას აძლევს ერთ ელემენტზე გამოყენებული რამდენიმე ნიღბის კომბინირებას. ის განსაზღვრავს, თუ როგორ იმოქმედებენ ერთმანეთზე სხვადასხვა ნიღბები მათი ერთმანეთზე დადებისას.

სინტაქსი

cssსელექტორი {
  mask-composite: <compositing-operator>#;
}

მნიშვნელობები

მნიშვნელობა აღწერა
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,
    განსაზღვრავს ელემენტების დადების რეჟიმს