mask-mode
ЦСС својство означава да ли је ЦСС маска слој слика третира као алфа маска или осветљења маске.
.element ( mask-image: url(sun.svg); mask-mode: alpha; )
Синтакса
mask-mode: alpha | luminance | match-source
Имовина прихвата једну кључну реч вредност, или листу од два одвојених зарезом или сва три alpha
, luminance
и mask-source
вредности.
- Почетна вредност:
match-source
- Односи се на: све елементе. У СВГ-у се односи на елементе контејнера искључујући елементе, све графичке елементе.
- Наследио: не
- Израчуната вредност: како је наведено
- Тип анимације: дискретна
Вредности
/* Keyword values */ mask-mode: alpha; mask-mode: luminance; mask-mode: match-source; /* Global values */ mask-mode: inherit; mask-mode: initial; mask-mode: unset;
alpha
: одређује да се вредности алфа (алфа канал) слике слоја маске користе као вредности маске.luminance
: одређује да се вредности осветљености слике маске користе као вредности маске.match-source
: подразумевана вредност, која режим маске поставља на алфа ако је референца маскеmask-image
својства ЦССелемент попут УРЛ-а слике или градијента. Међутим, ако је референца на маску
mask-image
својства СВГелемент,
мора се користити вредност наведена својством типа маске референцираног елемента.
initial
: примењује подразумевану поставку својства, која јеmatch-source
.inherit
: прихвата вредност начина рада маске родитеља.unset
: уклања тренутни начин маске из елемента.
Коришћење више вредности
Ово својство може узети листу вредности раздвојених зарезом за начине маске и свака вредност се примењује на одговарајућу слику слоја маске наведену у својству слике маске.
У следећем примеру, прва вредност одређује режим маске који одговара првој слици, друга вредност за другу слику итд.
.element ( mask-image: url(image1.png.webp), url(image2.png.webp), url(image3.png.webp); mask-mode: luminance, alpha, match-source; )
Алфа и маске за осветљеност
Маскирање у ЦСС долази са две методе које имају неке разлике у израчунавању вредности маске.
Алфа маске
Слике су направљене од пиксела, сваки пиксел садржи неке податке који садрже вредности боја и можда алфа вредности са информацијама о прозирности. Слика са алфа каналом може бити алфа маска , попут ПНГ слика са црним и прозирним областима.
У једноставној операцији маскирања, елемент и слика маске постављени су на њега. Алфа вредност сваког пиксела на слици маске спојиће се са одговарајућим пикселом у елементу.
- Ако је вредност алфа нула (тј. Провидна), она побеђује и тај део елемента је маскиран (тј. Скривен).
- Алфа вредност један (тј. Потпуно непровидна) омогућава да тај пиксел елемента буде видљив.
- Вредност између 0 и 1 (нпр. 0,5) омогућава пикселу да буде видљив, али уз одређени ниво транспарентности.
Дакле, у овој методи, вредност маске у датој тачки је једноставно вредност алфа канала у тој тачки слике маске, а канали у боји не доприносе вредности маске.
Испод је пример алфа маске која садржи само црну (алфа вредност 1) и провидне области (алфа вредност 0) и можете видети резултат који има неке делове који су потпуно видљиви, а други потпуно транспарентни:

Али у следећем примеру користимо градијент који има различит ниво транспарентности. Резултат није само видљив или прозиран, већ постоје нека провидна подручја:
img ( mask-image: linear-gradient(black, transparent); mask-mode: alpha; )
И ево како резултат изгледа у прегледачу:

Маске за осветљеност
У маски осветљености су битне боје и алфа вредности. Када је алфа вредност 0 (тј. Потпуно транспарентна), елемент је скривен; када је алфа вредност 1, вредности маске варирају у зависности од канала боје тог пиксела. На пример, када је боја бела, елемент је видљив; у случају црне површине, елемент је скривен.
Док се израчунавање вредности маске у алфа маски заснива само на алфа вредностима слике маске, вредности маске осветљености маске израчунавају се из вредности осветљености и алфа вредности. Прегледачи то раде у следећим корацима:
- Израчунајте вредност осветљености из вредности канала боја.
- Помножите израчунату вредност осветљености са одговарајућом алфа вредношћу да бисте добили вредност маске.
/ објашњење За више информација о овим прорачунима можете погледати одељак за обраду маске у спецификацији ЦСС Маскинг Модуле 1 из Нацрта уредника из септембра 2019.
Испод је слика маске са белим сунцем у средини и провидним деловима око ње. Као што видите, док су подручја у потпуности видљива:

И у следећем примеру, шарени градијент се користи као слика маске и у режиму осветљености можете видети ефекат различитих боја на вредности маске:

Демо
У следећој демонстрацији користимо слику маске са прозирним и црним областима:
Следећи демо представља маску осветљености са градијентом као слику маске:
Белешка
mask-mode
Својство замењује дефиницију mask-type
имовине.
Подршка прегледача
ИЕ | Ивица | Фирефок | Хром | Сафари | Опера |
---|---|---|---|---|---|
Све | Све | 53+ | Све | Све | Све |
Андроид Цхроме | Андроид Фирефок | Андроид претраживач | иОС Сафари | Опера Мобиле |
---|---|---|---|---|
Све | 83+ | Све | Све | Све |
Више информација
Чланак 6. новембра 2016Исецање и маскирање у ЦСС-у









