首頁  >  文章  >  web前端  >  css怎麼讓文字域中字用不同顏色

css怎麼讓文字域中字用不同顏色

青灯夜游
青灯夜游原創
2022-09-02 18:19:132328瀏覽

實作步驟:1、使用linear-gradient()為文字域新增漸層背景效果,語法「background-image: linear-gradient(...);」;2、使用background-clip屬性和color屬性讓漸層背景色只在文字域的文字上顯示,也就是讓文字漸層有不同顏色,語法「background-clip: text;color: transparent;」。

css怎麼讓文字域中字用不同顏色

本教學操作環境:windows7系統、CSS3&&HTML5版、Dell G3電腦。

在CSS中,可以透過為文字域中文字新增漸層效果來實現文字不同顏色。

css3文字漸層色:linear-gradient() background-clip

CSS 中並沒有直接的屬性來設定文字漸變,通常文字只能是純色。不過可以透過背景裁切background-clip讓背景色在文字區域顯示出來,看著就像是文字有了漸層

效果圖

css怎麼讓文字域中字用不同顏色

程式碼

<!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);是背景圖取值為漸層色。

css怎麼讓文字域中字用不同顏色

漸層效果是作用在背景上的,怎麼能讓效果作用在文字上?這就使用到background-clip 屬性。因為它是一個新屬性,有相容問題,因此要加前綴

background-clip: text;
-webkit-background-clip: text;

background-clip 屬性規定背景的繪製區域

語法:background-clip: border -box|padding-box|content-box;

css怎麼讓文字域中字用不同顏色

#上面沒有說取值text 的情況,看到前面的前綴,大家應該也能想到,它的相容性問題了,目前還不是能所有瀏覽器都支援。

取值為text的意思,就是以區塊內的文字作為裁剪區域向外裁剪,文字的背景即為區塊的背景,文字之外的區域都會被裁剪掉。

css怎麼讓文字域中字用不同顏色

可以看到,有一點點的漸變,但不明顯;這是因為文字本身也有顏色,有顏色的文字會覆蓋在背景之上。所以,我們最後寫color: transparent; 讓文字是透明色,就是讓後面背景色顯示出來。

css怎麼讓文字域中字用不同顏色

(學習影片分享:web前端

以上是css怎麼讓文字域中字用不同顏色的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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