Слои Маски с Градиентами CSS
Градиент CSS тоже может служить изображением слоя маски.
Слой Маски с Линейным Градиентом
Слоем маски изображения может быть линейный градиент. В примере ниже градиент начинается с чёрного вверху, где изображение полностью видимо, и переходит в прозрачный внизу, где оно скрыто.
Пример
Здесь линейный градиент выступает в роли слоя маски.
Output: complete HTML page
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Linear Gradient Mask</title>
<style>
.mask1 {
-webkit-mask-image: linear-gradient(black, transparent);
mask-image: linear-gradient(black, transparent);
}
</style>
</head>
<body>
<h2>Linear Gradient Mask Layer</h2>
<p>The image below uses a linear gradient as a mask layer. The gradient goes from black (fully visible) at the top to transparent (hidden) at the bottom:</p>
<img class="mask1" src="img_5terre.jpg" alt="Cinque Terre" width="600" height="400">
</body>
</html>
Линейный градиент с маскированием текста
Если объединить линейный градиент с маскированием текста, такое сочетание может маскировать и фоновое изображение.
Output: complete HTML page
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Linear Gradient Text Mask</title>
<style>
.mask1 {
max-width: 600px;
height: 400px;
overflow: hidden;
background: url(img_5terre.jpg) no-repeat;
background-size: cover;
-webkit-mask-image: linear-gradient(black, transparent);
mask-image: linear-gradient(black, transparent);
color: white;
padding: 20px;
}
</style>
</head>
<body>
<h2>Linear Gradient with Text Masking</h2>
<div class="mask1">
<p>Cinque Terre is a coastal area within Liguria, in the northwest of Italy. It lies in the west of La Spezia Province, and comprises five villages: Monterosso al Mare, Vernazza, Corniglia, Manarola, and Riomaggiore.</p>
<p>Cinque Terre is a coastal area within Liguria, in the northwest of Italy. It lies in the west of La Spezia Province, and comprises five villages: Monterosso al Mare, Vernazza, Corniglia, Manarola, and Riomaggiore.</p>
</div>
</body>
</html>
Слой Маски с Радиальным Градиентом - Круг
Радиальный градиент в форме круга тоже работает как слой маски изображения.
Пример
Здесь круговой радиальный градиент выступает в роли слоя маски.
Output: complete HTML page
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Radial Gradient Circle Mask</title>
<style>
.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%);
}
</style>
</head>
<body>
<h2>Radial Gradient Mask Layer - Circle</h2>
<p>The image below uses a radial gradient (circle) as a mask layer:</p>
<img class="mask2" src="img_5terre.jpg" alt="Cinque Terre" width="600" height="400">
</body>
</html>
Слой Маски с Радиальным Градиентом - Эллипс
Радиальные градиенты могут иметь и форму эллипса, и такой градиент тоже работает как слой маски изображения.
Пример
Здесь эллиптический радиальный градиент выступает в роли слоя маски.
Output: complete HTML page
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Radial Gradient Ellipse Mask</title>
<style>
.mask3 {
-webkit-mask-image: radial-gradient(ellipse, black 50%, rgba(0, 0, 0, 0.5) 50%);
mask-image: radial-gradient(ellipse, black 50%, rgba(0, 0, 0, 0.5) 50%);
}
</style>
</head>
<body>
<h2>Radial Gradient Mask Layer - Ellipse</h2>
<p>The image below uses a radial gradient (ellipse) as a mask layer:</p>
<img class="mask3" src="img_5terre.jpg" alt="Cinque Terre" width="600" height="400">
</body>
</html>
Слой Маски с Коническим Градиентом
Слоем маски изображения может быть и конический градиент. Этот градиент идёт по кругу от чёрного при 0 градусах до прозрачного при 360 градусах.
Пример
Здесь конический градиент выступает в роли слоя маски.
Output: complete HTML page
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Conic Gradient Mask</title>
<style>
.mask4 {
-webkit-mask-image: conic-gradient(black 0deg, transparent 360deg);
mask-image: conic-gradient(black 0deg, transparent 360deg);
}
</style>
</head>
<body>
<h2>Conic Gradient Mask Layer</h2>
<p>The image below uses a conic gradient as a mask layer:</p>
<img class="mask4" src="img_5terre.jpg" alt="Cinque Terre" width="600" height="400">
</body>
</html>
Все Свойства CSS Маскирования
Здесь перечислены все свойства CSS маскирования:
mask-clip- Определяет область, на которую влияет изображение маски.mask-composite- Задаёт операцию компоновки между текущим слоем маски и слоями маски под ним.mask-image- Указывает изображение, которое выступает в роли слоя маски элемента.mask-mode- Выбирает, считается ли изображение слоя маски маской яркости или альфа-маской.mask-origin- Определяет, где расположено начало координат изображения слоя маски.mask-position- Задаёт, откуда начинается изображение слоя маски.mask-repeat- Управляет тем, как повторяется изображение слоя маски.mask-size- Управляет размером изображения слоя маски.mask-type- Выбирает, считается ли SVG-элемент<mask>маской яркости или альфа-маской.