首頁  >  文章  >  web前端  >  使用 CSS 新增遮罩到圖片

使用 CSS 新增遮罩到圖片

WBOY
WBOY轉載
2023-09-04 12:01:021537瀏覽

使用 CSS 添加遮罩到图像

我們可以在元素上放置一個圖層,以便部分或完全隱藏該元素。 mask-image屬性是一種CSS屬性,用於指定元素上的圖層,它也可以是一個圖片,但我們需要使用圖片的位址來新增一個遮罩在該圖片上。

在本文中,我們將看看如何使用CSS屬性為圖像添加遮罩以及我們可以透過相同屬性做更多的事情。

為影像新增蒙版

mask-image屬性是我們將要使用的屬性,用於在所需的圖像或文字上新增蒙版。此屬性新增了一個圖層,可以部分或完全隱藏圖像。為了更好地理解該屬性,讓我們快速查看屬性的語法。

文法

mask-image: none, <image>, initial, inherit;

mask-image 屬性使用不同的值,none 值將不會新增遮罩層,但會在圖片或文字上設定透明的黑色圖層。 值可以加入線性漸變的遮罩。 初始值會將屬性值設為其預設值,繼承值將繼承使用此屬性的元素的最近父級的遮罩屬性。

為了更好地理解該屬性,我們將透過一個範例來詳細了解mask-image屬性的值是如何運作的。

範例

在這個範例中,我們將使用5cd061ee8879d3cd5762a51ae91205b7的值,並新增圖片的位址,以便我們可以在映像上新增遮罩。

在這裡,創建了一個容器類,然後轉到CSS部分,在這部分中,我們首先更改了高度和寬度,然後使用了mask屬性以及我們想要列印的圖像。讓我們看一下從程式碼中得到的輸出。

<!DOCTYPE html>
<html lang="en">
<head>
   <title>An example of using the make-source property</title>
   <style>
      .contain { 
         width: 330px;
         height: 330px;
         background-image: url(
            "https://www.tutorialspoint.com/static/images/simply-easy-learning.jpg"
         );
         background-size: cover;
         background-position: center;
         background-repeat: no-repeat;
         background-position: center;
         -webkit-mask-box-image: url(https://www.tutorialspoint.com/images/logo.png);
      }
      body {
         background-color: white;
      }
   </style>
</head>
<body>
   <div class="contain"></div>
</body>
</html>

這是我們將要得到的輸出,正如您所看到的,使用mask-image屬性後,圖像現在被遮罩了。

現在我們將在另一個範例中使用新的屬性值,因此讓我們轉到下一個範例。

範例

在這個範例中,我們將使用mask-image屬性,並將其值設為線性漸變,現在,讓我們轉到程式碼,了解這個屬性是如何運作的。

<!DOCTYPE html>
<html lang="en">
<head>
   <title>Example of using mask-image property</title>
   <style>
      .container {
         height: 130px;
         width: 130px;
         background-image: url(
            "https://www.tutorialspoint.com/coffeescript/images/coffeescript-mini-logo.jpg");
         background-position: center;
         background-size: cover;
         -webkit-mask-image: linear-gradient(
            to top, transparent 19%, black 81%);
            background-repeat: no-repeat;
            mask-image: linear-gradient(
            to top, transparent 19%, black 21%
         );
      }
      body {
         background-color: white;
      }
   </style>
</head>
<body>
   <div class="container"></div>
</body>
</html>

在上面的程式碼中,我們首先建立了一個容器,然後在CSS部分中更改了其高度和寬度。之後,我們新增了要套用遮罩的影像,並使用mask-image屬性將其值設為線性漸層。我們將顏色黑色設定為81%,透明設定為20%。讓我們快速查看上面的程式碼。

在上面的範例中,您可以看到圖像從底部是透明的,這表示遮罩已套用至影像。

注意 - 如果我們將線性漸變中的黑色值設為100%,則我們擁有的影像將對使用者完全可見,如果我們將透明設為100%,則影像將被遮罩完全隱藏。

範例

在下面的範例中,我們將屬性的值變更為徑向漸變,這表示現在將以圓形形式新增遮罩,程式碼的其他元件類似。讓我們看看使用下面的程式碼將獲得​​的輸出。

<!DOCTYPE html>
<html lang="en">
<head>
   <title>Another example for the image-mask property</title>
   <style>
      .mask2 {
         mask-image: radial-gradient(circle, black 50%, rgba(0, 0, 0, 0.5) 50%);
         -webkit-mask-image: radial-gradient(circle, black 49%, rgba(0, 0, 0, 0.5) 50%);
      }
   </style>
</head>
<body>
   <h1>This is an example of the mask-image property</h1>
   <h3>We are using the gradient value</h3>
   <div class="mask2">
      <img src="https://www.tutorialspoint.com/images/logo.png" width="600" height="400">
   </div>
</body>
</html>

在執行上述程序時,您可以看到遮罩以圓形形式顯示,因為影像的某些部分是透明的,而其他部分是暗的。

為什麼我們要使用-webkit前綴?

我們使用-webkit前綴是因為大多數瀏覽器對我們今天使用的遮罩功能只有部分支援。我們同時使用-webkit前綴和標準屬性,以便與所有瀏覽器相容。

結論

CSS 中的遮罩可以部分或完全隱藏屬性,這取決於與屬性一起使用的值。遮罩可以像遮罩剪輯、遮罩影像、遮罩模式、遮罩原點等一樣使用。 masking 屬性可以在圖像或文字上設定蒙版,我們甚至可以更改我們打算應用的蒙版的形狀。遮罩將應用於影像,以使用戶更加身臨其境或隱藏影像的某些部分。

以上是使用 CSS 新增遮罩到圖片的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除