css怎麼實現文字不同顏色

青灯夜游
發布: 2022-08-30 18:47:10
原創
4515 人瀏覽過

兩種方法:1、用background-clip,語法「文字元素{background-image:linear-gradient(..);background-clip:text;color:transparent;}」。 2.用mask,語法「文字元素{color:顏色值1;}文字元素:before{mask:linear-gradient(..);color:顏色值2;}」。

css怎麼實現文字不同顏色

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

在CSS中,可以透過為文字元素添加漸層效果來實現文字不同顏色。以下介紹2種文字漸層效果的實作方法。

方式一:linear-gradient() background-clip


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

效果圖

css怎麼實現文字不同顏色

#程式碼

<!DOCTYPE html>
<html>

<head>
    <meta charset="utf-8">
    <style>
 
    .text {
        background-image: linear-gradient(to right, red, blue);
        background-clip: text;
        -webkit-background-clip: text;
        color: transparent; /*需要文字透明*/
    }
    </style>
</head>

<body>
       <h1 class="text">为你定制 发现精彩</h1>
</body>
</html>
登入後複製

程式碼不多,讓我們來看看:  

background: linear-gradient(to right, red, blue); 這行是給背景設定為漸變色,這裡注意一點,這樣是簡寫了,其實是給background-image 設定為漸層色,不是background-color ,是背景圖取值為漸層色。

-webkit-background-clip: text; 這行就要說到,background-clip 屬性了:

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

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

css怎麼實現文字不同顏色

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

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

所以,我們最後寫color: transparent;  讓文字是透明色,就是讓後面背景色顯示出來。

方法二:linear-gradient() mask


效果圖      

css怎麼實現文字不同顏色

#程式碼

<!doctype html>
<html>
<head>
<meta charset="UTF-8" />

<style type="text/css">
    h1{
        position: relative;
        color: yellow;
    }
    h1:before{
        content: attr(text);
        position: absolute;
        z-index: 10;
        color:pink;
        -webkit-mask:linear-gradient(to left, red, transparent );
    }
</style>
</style>
</head>

<body>
    <h1 text="前端简单说">前端简单说</h1>
</body>

</html>
登入後複製

程式碼也不多,我們簡單說一下,

:before 選擇器向選定的元素前插入內容。 
使用content 屬性來指定要插入的內容。

content取值attr 是用來取得屬性值的,content:attr(屬性名稱);

content: attr(text); 可以取得到元素的text 屬性,這裡的這個text屬性是自己自訂的屬性,你也可以在元素中加一個tt 屬性,像這樣 
<h1 tt="前端簡單說">前端簡單說</h1>  
然後content屬性這樣寫,content: attr(tt);   同樣是可以起作用的。

好的我們繼續說第二種方式的重點,mask屬性,可閱讀文章://m.sbmmt.com/css-tutorial-494998.html

mask屬性簡單說,就是能讓元素的某部分顯示或隱藏。

我們看張圖就能明白,第二種方式實現的原理了

css怎麼實現文字不同顏色

#(學習影片分享:web前端入門

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

相關標籤:
css
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!