成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

妙用CSS混合模式實現文字鏤空波浪效果

開發 前端
通過混合模式,我們巧妙的實現了這樣一個文字鏤空的波浪效果。通過混合模式的特性,過濾掉了效果中一些我們不希望看見的顏色,只讓正確的顏色在正確的地方出現。

[[426232]]

本文將介紹一個小技巧,通過混合模式 mix-blend-mode 巧妙的實現文字的鏤空效果。

起因

一日,一群友私聊問我。如何使用 CSS 實現下述效果,一個文字的波浪效果:

圖片

我當時想都沒想,就回答道,這個很簡單啊。

熟練的打開 CodePen,一頓操作,好像事情沒有那么簡單。想要用純 CSS 實現起來非常的棘手。

純 CSS 實現波浪效果

在進入正題前,我們先復習下,使用 CSS 實現波浪,如果不是在鏤空的文字內,而是在一個 div 容器內,可以使用滾動大圓的方式,類似于這樣:

圖片

容器應用 overflow: hidden,就能得到這樣的效果:

圖片

對這個技巧還不理解,可以猛擊這篇文章:純 CSS 實現波浪效果![1]

如何在文字中應用此效果

OK,回歸正題,那么如何在文字中應用此效果呢?

問題出在哪里呢?

我們首先嘗試下,白底黑字,加上該效果:

  1. <div class="g-container"
  2.     <p>TEXT WAVE</p> 
  3. </div> 

 核心的 CSS 偽代碼如下:

  1. p { 
  2.     background: #fff; 
  3.     color: #000; 
  4.      
  5.     &::before, 
  6.     &::after { 
  7.         content: ""
  8.         position: absolute
  9.         border-radius: 45% 48% 43% 47%; 
  10.         background: rgba(3, 169, 244, .85); 
  11.         animation: rotate 10s infinite linear; 
  12.     } 
  13.      
  14.     &::after { 
  15.         border-radius: 43% 47% 44% 48%; 
  16.         animation: rotate 10s infinite .5s linear; 
  17.     } 
  18.  
  19. @keyframes rotate { 
  20.     0% { 
  21.         transform: translate(-50%, -50%) rotate(0); 
  22.     } 
  23.     100% { 
  24.         transform: translate(-50%, -50%) rotate(360deg); 
  25.     } 

效果大概是這樣:

圖片

當然,我們也可以把它放置到文字層下面,更直觀點:

  1. p { 
  2.     ... 
  3.    
  4.     &::before, 
  5.     &::after { 
  6.         ... 
  7.       + z-index: -1;   
  8.     } 

Oh,太糟糕了,僅僅這樣是沒法實現 -- 只是文字被鏤空,文字內部才有波浪效果。

嘗試使用讓文字透明

我們要嘗試讓文字透明

  1. 可以使用 color: transparent 使文字透明
  2. 嘗試使用 background-clip 實現

emmm,逐一嘗試下。如果字體設置為透明,由于

設置了白色底色,字體顏色也就會變成白色。整體就是一幅白,失敗。

那如果背景設置為黑色,并且設置 background-clip: text 呢?字體依然是黑色,波浪依舊無法進到鏤空的字體中~

  1. p { 
  2.   + background-clip: text; 

也就是這樣:

強大的混合模式

看來此路不通,只能另辟蹊徑。

在 CSS 中,其他能對顏色進行處理的,一是濾鏡 filter,另外一個就是混合模式 mix-blend-mode,在這里,腦袋里快速閃過各個濾鏡,應該都不行。但是混合模式,倒是能夠嘗試一下。

在 CSS 中也有混合模式(mix-blend-mode、background-blend-mode),混合模式最常見于 photoshop 中,是 PS 中十分強大的功能之一,目前在 CSS 中得到了非常好的支持。

我們嘗試給兩個大圓,添加混合模式,在當前的配色下,也就是白底黑字的情況下,濾掉白底下的藍色。

圖片

Wow,當給兩個波浪圓形加上 mix-blend-mode: lighten 時,成功的在白底上過濾掉了藍色,只在黑色字體上能夠看到藍色波浪的效果。

當然,另外一個混合模式 mix-blend-mode: screen 也能達到類似的效果:

至此,通過混合模式,我們巧妙的實現了這樣一個文字鏤空的波浪效果。通過混合模式的特性,過濾掉了效果中一些我們不希望看見的顏色,只讓正確的顏色在正確的地方出現。

完整的代碼你可以猛擊:CSS 靈感 - 使用混合模式疊加實現文字波浪效果[2]

最后

好了,本文到此結束,希望對你有幫助 :)

本文沒有詳細的去講混合模式 mix-blend-mode 的一些基礎用法,感興趣的同學可以自行研究。

參考資料

[1]純 CSS 實現波浪效果!:

https://github.com/chokcoco/iCSS/issues/22

[2]CSS 靈感 - 使用混合模式疊加實現文字波浪效果:

https://csscoco.com/inspiration/#/./blendmode/mixblend-text-wave-effect

責任編輯:姜華 來源: iCSS前端趣聞
相關推薦

2023-05-18 09:25:20

background花式文字效果

2021-09-28 06:00:01

BackgroundCSS技巧

2022-07-19 06:20:47

CSSbackground

2023-01-03 10:37:22

CSS動畫

2010-09-13 14:09:35

CSS文字

2023-06-05 09:28:32

CSS漸變

2021-08-30 06:20:39

CSS 技巧3D 效果

2023-12-25 12:57:00

樹形結構CSScounters

2021-05-18 06:22:39

CSS 制作波浪技巧

2023-12-04 08:06:41

CSS文字效果

2009-07-30 09:42:29

CSS實現文字旋轉

2022-12-12 11:11:05

2024-01-30 09:21:29

CSS文字效果文字裝飾

2021-09-30 08:25:28

CSS 技巧酷炫線條光影

2024-03-20 09:40:27

動畫技巧CSS逐幀動畫

2010-09-10 15:16:51

CSSdisplay

2010-09-09 11:16:06

CSS交互

2010-09-09 12:49:58

鼠標懸停tip效果CSS

2010-09-14 09:18:28

DIVCSS

2010-09-07 14:53:45

Chroma屬性CSS
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 一区二区三区免费网站 | 嫩草伊人 | 日韩中文在线观看 | 久久99深爱久久99精品 | 精品久久久久久久久久 | 噜噜噜色网 | 国产成人免费视频网站高清观看视频 | 成人不卡视频 | 国产精品欧美一区二区三区不卡 | 亚洲美女视频 | 亚洲国产成人av好男人在线观看 | 国产精品美女久久久久久免费 | www.黄网 | 亚洲在线一区二区 | 国产激情一区二区三区 | 日韩精品在线观看一区二区三区 | 一级免费毛片 | 一区二区精品 | 国产精品揄拍一区二区久久国内亚洲精 | 成人免费大片黄在线播放 | 中文字幕在线精品 | 精品毛片在线观看 | 久久久99国产精品免费 | 国产一二三区电影 | 亚洲bt 欧美bt 日本bt | 久久国产精品一区二区三区 | 久久精品男人的天堂 | 中文字幕一区二区三区乱码图片 | 久久久久久久久久久久久9999 | 在线观看视频一区 | 日本在线小视频 | 国产又色又爽又黄又免费 | 免费视频久久 | 久久一二三区 | h视频在线免费 | 久国产视频 | 亚洲精品视频一区 | 日韩av免费在线观看 | 密色视频 | 亚洲欧美日韩中文字幕一区二区三区 | 欧美精品福利 |