首頁 web前端 css教學 CSS Tips段落每行漸層文字效果的實作方法

CSS Tips段落每行漸層文字效果的實作方法

Mar 09, 2018 am 10:46 AM
css

今天小編在Codepen上看到一個CSS寫的效果。一個段落的每行文字是漸變效果。對於單行文字或單字實現漸變填滿效果並不是什麼奇怪的事情,不過對於一個段落的每一行實現一個文字漸變​​填滿的效果。估計還是會令很多人感到好奇。如果你是其中好奇的一員,請繼續往下閱讀,一探其中之究竟!

目標效果

今天的目標效果是實現下面這樣的效果,或是說了解這種效果製作的小技巧:

CSS Tips段落每行漸層文字效果的實作方法

#看到上面的效果,我想很多人首先會想到的就是background-clip:text、color:transparent和linear-gradient來完成。那麼事實是這樣嗎?

如何完成一個段落的每行文字漸變效果

了解CSS的同學都清楚,使用:

background-image: linear-gradient(to right, deeppink, dodgerblue);
-webkit-background-clip: text;
color: transparent;
登入後複製

就可以輕易的實現一個文本的漸變填充效果。例如下面這個範例:

CSS Tips段落每行漸層文字效果的實作方法

來做個小實驗,如果文字不是一個單字或單行而是整個段落,效果會是如何?

CSS Tips段落每行漸層文字效果的實作方法

效果似乎也是完美的。如果漸變效果參數換一換,漸變效果是斜角:

background-image: linear-gradient(135deg, deeppink, dodgerblue);
登入後複製

看看兩者的效果:

CSS Tips段落每行漸層文字效果的實作方法

##仔細一看,兩個效果還是有差異的。先來看看同一個大小容器(本範例中的p元素,其大小是765px * 165px),對於兩種不同的漸變效果,先來看to right的填充效果:

CSS Tips段落每行漸層文字效果的實作方法

#再來看135deg的填充效果:

CSS Tips段落每行漸層文字效果的實作方法

到這裡了,你或許就知道前面的範例有何不同?而且也知道其中的原因是什麼?如果我們想要各種漸層對於段落的每行填充效果都相同,我們該怎麼實現?在實作之前,先簡單的總結:

在linear-gradient中使用to right或to left,不管是單字、單行文本或多行文本,得到的文字填滿效果都會一致。但對於其他漸變的角度參數,那麼多行文字填入中的每行效果就會有差異。

回到正題?怎麼實現多行而且不管任何填滿角度都有相同效果?實現這個效果有一個關鍵屬性:box-decoration-break。簡單的說一下,box-decoration-break屬性有兩個屬性值:slice和clone,其對應的效果如下:

用於一個段落中,其效果如下:

CSS Tips段落每行漸層文字效果的實作方法

是不是離我們的目標越來越近了。那麼把這個屬性box-decoration-break:clone用於我們的範例:

background-image: linear-gradient(135deg, deeppink, dodgerblue);
background-clip: text;
-webkit-background-clip: text;
box-decoration-break: clone;
-webkit-box-decoration-break: clone;
color: transparent;
登入後複製
效果如下:

CSS Tips段落每行漸層文字效果的實作方法

咱們來驗證一下是不是符合我們預期想要的效果:

CSS Tips段落每行漸層文字效果的實作方法

小技巧:box-decoration-break運用於行內元素,並且配上對應的line-height,讓行與行之間有一定的間距。

回過頭來,咱們看看,使用box-decoration-break是在行內元素和區塊元素之間的區別:

CSS Tips段落每行漸層文字效果的實作方法

是不是很完美。如果喜歡自己試試看。

相關建議:


javascript計算漸層色實例分享

html5 canvas繪製放射性漸層效果程式碼實例

div+css背景漸層程式碼範例

以上是CSS Tips段落每行漸層文字效果的實作方法的詳細內容。更多資訊請關注PHP中文網其他相關文章!

本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn

熱AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover

AI Clothes Remover

用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool

Undress AI Tool

免費脫衣圖片

Clothoff.io

Clothoff.io

AI脫衣器

AI Hentai Generator

AI Hentai Generator

免費產生 AI 無盡。

熱門文章

R.E.P.O.能量晶體解釋及其做什麼(黃色晶體)
2 週前 By 尊渡假赌尊渡假赌尊渡假赌
倉庫:如何復興隊友
4 週前 By 尊渡假赌尊渡假赌尊渡假赌
Hello Kitty Island冒險:如何獲得巨型種子
3 週前 By 尊渡假赌尊渡假赌尊渡假赌

熱工具

記事本++7.3.1

記事本++7.3.1

好用且免費的程式碼編輯器

SublimeText3漢化版

SublimeText3漢化版

中文版,非常好用

禪工作室 13.0.1

禪工作室 13.0.1

強大的PHP整合開發環境

Dreamweaver CS6

Dreamweaver CS6

視覺化網頁開發工具

SublimeText3 Mac版

SublimeText3 Mac版

神級程式碼編輯軟體(SublimeText3)

vue中placeholder是什麼意思 vue中placeholder是什麼意思 May 07, 2024 am 09:57 AM

vue中placeholder是什麼意思

vue中空格怎麼寫 vue中空格怎麼寫 Apr 30, 2024 am 05:42 AM

vue中空格怎麼寫

vue中怎麼取得dom vue中怎麼取得dom Apr 30, 2024 am 05:36 AM

vue中怎麼取得dom

js中span是什麼意思 js中span是什麼意思 May 06, 2024 am 11:42 AM

js中span是什麼意思

js中rem是什麼意思 js中rem是什麼意思 May 06, 2024 am 11:30 AM

js中rem是什麼意思

vue中引入圖片的方法 vue中引入圖片的方法 May 02, 2024 pm 10:48 PM

vue中引入圖片的方法

span標籤的作用是什麼 span標籤的作用是什麼 Apr 30, 2024 pm 01:54 PM

span標籤的作用是什麼

js中prompt怎麼換行 js中prompt怎麼換行 May 01, 2024 am 06:24 AM

js中prompt怎麼換行

See all articles