實作步驟:1、使用linear-gradient()為文字域新增漸層背景效果,語法「background-image: linear-gradient(...);」;2、使用background-clip屬性和color屬性讓漸層背景色只在文字域的文字上顯示,也就是讓文字漸層有不同顏色,語法「background-clip: text;color: transparent;」。
本教學操作環境:windows7系統、CSS3&&HTML5版、Dell G3電腦。
在CSS中,可以透過為文字域中文字新增漸層效果來實現文字不同顏色。
css3文字漸層色:linear-gradient() background-clip
CSS 中並沒有直接的屬性來設定文字漸變,通常文字只能是純色。不過可以透過背景裁切background-clip讓背景色在文字區域顯示出來,看著就像是文字有了漸層
效果圖
程式碼
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <style> textarea { font-size: 20px; background-image: linear-gradient(to right, red, blue); background-clip: text; -webkit-background-clip: text; color: transparent; /*需要文字透明*/ } </style> </head> <body> <textarea>为你定制 发现精彩</textarea> </body> </html>
程式碼不多,我們來解析一下:
background-image: linear-gradient(to right, red, blue);
是背景圖取值為漸層色。
漸層效果是作用在背景上的,怎麼能讓效果作用在文字上?這就使用到background-clip 屬性。因為它是一個新屬性,有相容問題,因此要加前綴
background-clip: text; -webkit-background-clip: text;
background-clip 屬性規定背景的繪製區域
語法:
background-clip: border -box|padding-box|content-box;
#上面沒有說取值text
的情況,看到前面的前綴,大家應該也能想到,它的相容性問題了,目前還不是能所有瀏覽器都支援。
取值為text
的意思,就是以區塊內的文字作為裁剪區域向外裁剪,文字的背景即為區塊的背景,文字之外的區域都會被裁剪掉。
可以看到,有一點點的漸變,但不明顯;這是因為文字本身也有顏色,有顏色的文字會覆蓋在背景之上。所以,我們最後寫color: transparent;
讓文字是透明色,就是讓後面背景色顯示出來。
(學習影片分享:web前端)
以上是css怎麼讓文字域中字用不同顏色的詳細內容。更多資訊請關注PHP中文網其他相關文章!