Свойство CSS mask-image
Пример
Создайте слой-маску для изображения:
.mask1 {
-webkit-mask-image: url(w3logo.png);
mask-image: url(w3logo.png);
-webkit-mask-size: 70%;
mask-size: 70%;
-webkit-mask-repeat: no-repeat;
mask-repeat: no-repeat;
}
Другие примеры «Попробуйте сами» ниже.
Определение и использование
Свойство mask-image
указывает изображение, которое будет использоваться в качестве маскирующего слоя для элемента.
Совет: Линейные и радиальные градиенты в CSS также можно использовать в качестве изображения маски.
Значение по умолчанию: | никто |
---|---|
Унаследовано: | нет |
Анимация: | нет. Читать об анимации |
Версия: | CSS3 |
Синтаксис JavaScript: | объект .style.maskImage="url(star.svg)" |
Поддержка браузера
Цифры в таблице указывают на первую версию браузера, которая полностью поддерживает это свойство.
Цифры, за которыми следует -webkit-, указывают на первую версию, которая работала с префиксом.
Property | |||||
---|---|---|---|---|---|
mask-image | 4.0 -webkit- | 79.0 -webkit- | 53.0 | 4.0 -webkit- | 15.0 -webkit- |
Синтаксис CSS
mask-image: none|image|url|initial|inherit;
Значения свойств
Value | Description |
---|---|
none | This is default |
image | An image to use as the mask layer |
url | An url reference to an image or an SVG <mask> element |
initial | Sets this property to its default value. Read about initial |
inherit | Inherits this property from its parent element. Read about inherit |
Дополнительные примеры
Пример
Создайте разные слои маски для изображения с линейным и радиальным градиентом:
.mask1 {
-webkit-mask-image: linear-gradient(black, transparent);
mask-image: linear-gradient(black,
transparent);
}
.mask2 {
-webkit-mask-image:
radial-gradient(circle, black 50%, rgba(0, 0, 0, 0.5) 50%);
mask-image: radial-gradient(circle, black 50%, rgba(0, 0, 0, 0.5) 50%);
}
.mask3 {
-webkit-mask-image: radial-gradient(black 50%, rgba(0,
0, 0, 0.5) 50%);
mask-image: radial-gradient(black 50%, rgba(0, 0,
0, 0.5));
}
Пример
Используйте элемент SVG <mask>, чтобы создать маскирующий слой для изображения:
<svg width="600" height="400">
<mask id="svgmask1">
<polygon fill="#ffffff" points="100,10 40,198 190,78 10,78
160,198"></polygon>
</mask>
<image xmlns:xlink="http://www.w3.org/1999/xlink" xlink:href="img_5terre.jpg"
mask="url(#svgmask1)"></image>
</svg>
Пример
Используйте элемент SVG <mask>, чтобы создать маскирующий слой для изображения:
<svg width="600" height="400">
<mask id="svgmask1">
<circle fill="#ffffff" cx="75" cy="75" r="75"></circle>
<circle fill="#ffffff" cx="80" cy="260" r="75"></circle>
<circle fill="#ffffff" cx="270" cy="160" r="75"></circle>
</mask>
<image xmlns:xlink="http://www.w3.org/1999/xlink"
xlink:href="img_5terre.jpg" mask="url(#svgmask1)"></image>
</svg>
Связанные страницы
Справочник по CSS: свойство режима маски
Справочник по CSS: свойство mask-origin
Справочник по CSS: свойство mask-position
Справочник по CSS: свойство повтора маски
Справочник по CSS: свойство размера маски
Учебное пособие по CSS: CSS-маскирование