iT邦幫忙

2024 iThome 鐵人賽

DAY 10
0

文章同步更新在 CodeFictionist

在我們開始之前,我們先來看這兩張圖:
CodeFictionist logo
琉璃光苑

Well,也許你會說,這有啥特別的,不就一個個人部落格的 logo 跟一張前幾天也一直出現的照片嗎?(os: 到底是多愛琉璃光苑)
當你有這想法,那慢著,我們來看看這張圖:

CodeFictionist logo with mask
CodePen 範例

哇~有沒有,原先灰白色的 logo 突然底色變成琉璃光苑的照片,整個 logo 忽然靜謐文藝了起來!
所以是怎麼做到的呢?我們來看看下面的 code:

<div class="mask"></div>
.mask {
 background: url("https://i.postimg.cc/bJs0ZYPS/DSC-1027.jpg") no-repeat top center;
 background-size: cover;
 -webkit-mask: url("https://codefictionist.com/assets/images/logo-white-5d1024ae24f7dd517ec2750931e42d82.png") no-repeat center center;
 mask: url("https://codefictionist.com/assets/images/logo-white-5d1024ae24f7dd517ec2750931e42d82.png") no-repeat center center;
 -webkit-mask-size: contain;
 mask-size: contain;
 width: 30rem;
 height: 30rem;
 margin: 0 auto;
}

可以看到我們這裡用了一個很少見的 CSS 屬性 mask,這個屬性是讓我們在網頁上做出各種圖片遮罩效果的關鍵。
解析一下上面的 code:

  1. 一開始是把元素的背景設為琉璃光苑的照片。
  2. 再來透過 -webkit-maskmask 這兩個屬性,把 logo 圖片設為遮罩。
  3. 最後再設定 mask-size 來調整遮罩的大小。

至於為何要多設定帶 -webkit- 前綴的屬性呢?這是為了確保瀏覽器的相容性,我們需要多設定一個帶 -webkit- 前綴的屬性。

參考資料

  1. CSS Masks 圖片遮罩效果

上一篇
Day 09 - 漸變背景動畫
下一篇
Day 11 - 漸變文字效果
系列文
一天一項 CSS 小技巧:打造視覺與互動效果30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

0
rh3
iT邦新手 5 級 ‧ 2024-08-22 06:30:46

菜鳥: 為什麼我的瀏覽器看不到第一張圖?
https://ithelp.ithome.com.tw/upload/images/20240822/201677330BxUNDXtnJ.jpg

agjeremy iT邦新手 5 級 ‧ 2024-08-22 07:05:31 檢舉

呃,你截的圖裡面就有第一張圖喔 ~

https://ithelp.ithome.com.tw/upload/images/20240822/201574396UHuJ5NKgu.png

rh3 iT邦新手 5 級 ‧ 2024-08-22 10:15:13 檢舉

明白了! 謝謝 /images/emoticon/emoticon82.gif

我要留言

立即登入留言