成人免费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 制作波浪技巧

2022-12-12 11:11:05

2023-12-04 08:06:41

CSS文字效果

2009-07-30 09:42:29

CSS實現文字旋轉

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-07 14:53:45

Chroma屬性CSS

2021-01-19 12:16:10

CSS前端UI

2010-09-14 12:58:41

DIV+CSS圓角

2021-12-27 07:45:30

CSS 技巧煙霧效果
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 久久久久久久久久久久久91 | 无码一区二区三区视频 | 精品不卡 | 欧美精品久久久久 | 手机在线一区二区三区 | 日韩中文在线视频 | 一级在线免费观看 | 精品欧美激情在线观看 | 亚洲www | 免费一区在线观看 | 91麻豆精品国产91久久久更新资源速度超快 | 欧美黄色大片在线观看 | 91 久久| 国产精品夜夜春夜夜爽久久电影 | 日韩一区二区免费视频 | 在线第一页| 2018天天干天天操 | 欧美日韩一区二区视频在线观看 | japan25hdxxxx日本| 国产精品久久 | 免费一级片 | 亚洲日韩中文字幕一区 | 欧美精品久久久 | 91在线导航 | 亚洲欧美一区二区三区国产精品 | 亚洲精品一区二三区不卡 | 精品综合 | 国产精品久久久久久久久久 | 国产区精品| 精品日韩在线 | 久久精品国产99国产精品亚洲 | 国产精品一区二区三区四区 | 免费小视频在线观看 | 中文字幕一区二区三区精彩视频 | 成人在线视频免费播放 | 中文字幕一区二区三区四区五区 | 请别相信他免费喜剧电影在线观看 | 95国产精品 | 亚洲精品二区 | 亚洲视频在线看 | 久久久91 |