CSS Tips:段落每行漸變色文本效果的實(shí)現(xiàn)方法

今天小編在Codepen上看到一個(gè)CSS寫的效果。一個(gè)段落的每行文本是漸變效果。對(duì)于單行文本或單個(gè)詞實(shí)現(xiàn)漸變填充效果并不是什么奇怪的事情,不過對(duì)于一個(gè)段落的每一行實(shí)現(xiàn)一個(gè)文本漸變填充的效果。估計(jì)還是會(huì)令很多人感到好奇。如果你是其中好奇的一員,請(qǐng)繼續(xù)往下閱讀,一探其中之究竟!
目標(biāo)效果
今天的目標(biāo)效果是實(shí)現(xiàn)下面這樣的效果,或者說了解這種效果制作的小技巧:
看到上面的效果,我想很多人首先會(huì)想到的就是background-clip:text、color:transparent和linear-gradient來完成。那么事實(shí)是這樣嗎?
如何完成一個(gè)段落的每行文本漸變效果
了解CSS的同學(xué)都清楚,使用:
background-image: linear-gradient(to right, deeppink, dodgerblue); -webkit-background-clip: text; color: transparent;
就可以輕易的實(shí)現(xiàn)一個(gè)文本的漸變填充效果。比如下面這個(gè)示例:
來做個(gè)小實(shí)驗(yàn),如果文本不是一個(gè)詞或單行而是整個(gè)段落,效果會(huì)是如何?
效果似乎也是完美的。如果把漸變效果參數(shù)換一換,漸變效果是一個(gè)斜角:
background-image: linear-gradient(135deg, deeppink, dodgerblue);
看看兩者的效果:
仔細(xì)一看,兩個(gè)效果還是有差異的。先來看看同一個(gè)大小容器(本示例中的p元素,其大小是765px * 165px),對(duì)于兩種不同的漸變效果,先來看to right的填充效果:
再來看135deg的填充效果:
到這里了,你或許就知道前面的示例有何不同?而且也知道其中的原因是什么?如果我們想要各種漸變對(duì)于段落的每行填充效果都相同,應(yīng)該怎么實(shí)現(xiàn)?在實(shí)現(xiàn)之前,先簡(jiǎn)單的總結(jié)一下:
在linear-gradient中使用to right或者to left,不管是單個(gè)詞、單行文本或者多行文本,得到的文本填充效果都將一致。但對(duì)于其他漸變的角度參數(shù),那么多行文本填充中的每行效果就將有差異。
回到正題?怎么實(shí)現(xiàn)多行而且不管任何填充角度都有相同效果?實(shí)現(xiàn)這個(gè)效果有一個(gè)關(guān)鍵屬性:box-decoration-break
。簡(jiǎn)單的說一下,box-decoration-break
屬性具有兩個(gè)屬性值:slice和clone,其對(duì)應(yīng)的效果如下:
用于一個(gè)段落中,其效果如下:
是不是離我們的目標(biāo)越來越近了。那么把這個(gè)屬性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;
效果如下:
咱們來驗(yàn)證一下是不是符合我們預(yù)期想要的效果:
小技巧:box-decoration-break運(yùn)用于行內(nèi)元素,并且配上相應(yīng)的line-height,讓行與行之間有一定的間距。
回過頭來,咱們看看,使用box-decoration-break是在行內(nèi)元素和塊元素之間的區(qū)別:
是不是很完美。如果喜歡自己動(dòng)手試試。
總結(jié)
這篇文章通過CSS的background-clip:text、color:transparent和box-decoration-break能實(shí)現(xiàn)每行文本漸變填充的效果,而且每行效果相同。而且不限于任何的漸變角度。
相關(guān)文章
css 進(jìn)度條的文字根據(jù)進(jìn)度漸變的示例代碼
這篇文章主要介紹了css 進(jìn)度條的文字根據(jù)進(jìn)度漸變的示例代碼,介紹了進(jìn)度條里面的文字需要根據(jù)進(jìn)度的長(zhǎng)度而變化,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一2018-01-09css漸變色彩 省略標(biāo)記 嵌入字體 文本陰影全面了解
下面小編就為大家?guī)硪黄猚ss漸變色彩 省略標(biāo)記 嵌入字體 文本陰影全面了解。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-08-05- 這篇文章主要以模擬漸變色條實(shí)例,針對(duì)CSS3 HSLA色彩模式進(jìn)行介紹,使用HSLA色彩模式,可以設(shè)計(jì)不同的透明效果,感興趣的小伙伴們可以參考一下2016-04-26
css教程實(shí)現(xiàn)div背景色漸變色代碼分享
一個(gè)簡(jiǎn)單div+css背景漸變色代碼,大家參考使用吧2013-12-27css實(shí)現(xiàn)隨鼠標(biāo)移動(dòng)div漸變色效果
多組div排列著圈子,利用css的hover屬性產(chǎn)生色層漸變,只要拷貝一段很簡(jiǎn)單的html和css就可以實(shí)現(xiàn)2013-12-18- 本示例代碼就是上面是紅色,下面是黑色,由上到下漸變色的可以看下效果圖,感興趣的朋友可以參考下哈2013-06-18