使用CSS3的背景漸變Text Gradient 創(chuàng)建文字顏色漸變

考慮一下,如何在網(wǎng)頁中達(dá)到類似以下文字漸變的效果?
傳統(tǒng)的實(shí)現(xiàn)中,是用一副透明漸變的圖片覆蓋在文字上。具體實(shí)現(xiàn)方式可參考 http://www.qianduan.net/css-gradient-text-effect.html 。這種方式優(yōu)點(diǎn)是圖片可控,所以可實(shí)現(xiàn)很復(fù)雜的漸變效果,但是缺點(diǎn)是圖片漸變色必須與背景色一致,同時(shí)損失了鼠標(biāo)點(diǎn)擊、文字選擇等事件。
改進(jìn)的方法可以使用 CSS3 的背景漸變 -webkit-gradient ,用一個(gè)背景漸變的 DIV 代替圖片。下面是實(shí)現(xiàn)效果示例,相比以上方案優(yōu)點(diǎn)是不使用圖片,減小請求量和流量,但是對于以上缺點(diǎn),仍然無法解決。
有沒有完美的解決方案呢?
以下介紹使用 -webkit-mask 遮罩的方案來實(shí)現(xiàn)文字漸變,完全避免了以上方案的不足。下面是實(shí)現(xiàn)的完美效果圖:
現(xiàn)在讓我們開始 CSS3 Text Gradient 之旅。
1、構(gòu)建 HTML 內(nèi)容和基本樣式
我們使用一個(gè) H1 標(biāo)簽包裹一個(gè) A 標(biāo)簽:
<h1><a href= "#" mce_href= "#" >Jiangyujie</a></h1>
<h1><a href="#" mce_href="#">Jiangyujie</a></h1>
樣式定義如下,我們使用 text-shadow 為文字添加陰影:
h1 {
font-family: Segoe UI, Verdana, sans-serif;
font-size: 100px;
line-height: 100px;
text-shadow: -3px 0 4px #006;
}
h1 a:link,
h1 a:visited,
h1 a:hover,
h1 a:active {
color: #d12;
text-decoration: none;
}
h1 {
font-family: Segoe UI, Verdana, sans-serif;
font-size: 100px;
line-height: 100px;
text-shadow: -3px 0 4px #006;
}
h1 a:link,
h1 a:visited,
h1 a:hover,
h1 a:active {
color: #d12;
text-decoration: none;
}
基本效果如下:
2、添加漸變效果
我們通過 CSS3 的 mask 屬性為文字添加線性漸變。和 background 的漸變相比,可以理解為 background是在文字后面,而 mask 是疊加在文字上面的。 Mask 可以設(shè)置為普通顏色、線性漸變、徑向漸變或者圖片。
代碼如下:
h1 a:link,
h1 a:visited,
h1 a:hover,
h1 a:active {
color: #d12;
text-decoration: none;
-webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0,0,0,1)), to(rgba(0,0,0,0)));
}
h1 a:link,
h1 a:visited,
h1 a:hover,
h1 a:active {
color: #d12;
text-decoration: none;
-webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0,0,0,1)), to(rgba(0,0,0,0)));
}
效果如下所示:
3、漸變?yōu)榱硗庖环N顏色
因?yàn)?-webkit-gradient 實(shí)際上是按照圖片的方式進(jìn)行處理的,所以我們不能通過設(shè)置文字顏色為漸變來實(shí)現(xiàn)文字顏色漸變?yōu)榱硗庖环N顏色的效果(不信的話你可以試試)。
所以我們要構(gòu)造一個(gè)偽元素,內(nèi)容和我們的文本一樣,使用偽元素的原因是避免再添加一個(gè)同樣內(nèi)容的標(biāo)簽造成代碼冗余:
h1:after {
content: "Jiangyujie" ;
color: #000;
text-shadow: 3px 3px 1px #600;
}
h1:after {
content: "Jiangyujie";
color: #000;
text-shadow: 3px 3px 1px #600;
}
然后我們通過position屬性將兩個(gè)文本重疊在一起:
h1 {
position: relative;
font-family: Segoe, Verdana, sans-serif;
font-size: 100px;
line-height: 100px;
text-shadow: -3px 0 4px #006;
}
h1 a:link,
h1 a:visited,
h1 a:hover,
h1 a:active {
position: absolute;
text-decoration: none;
top: 0;
z-index: 2;
color: #d12;
-webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0,0,0,1)), to(rgba(0,0,0,0)));
}
h1 {
position: relative;
font-family: Segoe, Verdana, sans-serif;
font-size: 100px;
line-height: 100px;
text-shadow: -3px 0 4px #006;
}
h1 a:link,
h1 a:visited,
h1 a:hover,
h1 a:active {
position: absolute;
text-decoration: none;
top: 0;
z-index: 2;
color: #d12;
-webkit-mask-image: -webkit-gradient(linear, left top, left bottom, from(rgba(0,0,0,1)), to(rgba(0,0,0,0)));
}
效果如下圖所示:
4、添加背景
這種實(shí)現(xiàn)方式的優(yōu)勢是我們可以自定義背景,完全不受漸變顏色的影響。例如我們可以為文字添加一副背景,效果如下:
很棒的效果,不是嗎:)
5、其他
CSS3 mask 的詳細(xì)信息可以參考 Webkit.org 的 文章 。
相關(guān)文章
- 這篇文章主要介紹了CSS3下的漸變文字效果實(shí)現(xiàn)示例的相關(guān)資料,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2018-03-02
css 進(jìn)度條的文字根據(jù)進(jìn)度漸變的示例代碼
這篇文章主要介紹了css 進(jìn)度條的文字根據(jù)進(jìn)度漸變的示例代碼,介紹了進(jìn)度條里面的文字需要根據(jù)進(jìn)度的長度而變化,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一2018-01-09css3實(shí)現(xiàn)文字掃光漸變動畫效果的示例
這篇文章主要介紹了css3實(shí)現(xiàn)文字掃光漸變動畫效果的示例,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-11-07- CSS3文字背景色漸變過渡特效源碼是一段實(shí)現(xiàn)了文字顏色漸變過渡效果代碼,本段代碼適應(yīng)于所有網(wǎng)頁使用,有需要的朋友們歡迎前來下載使用2017-05-25
CSS實(shí)現(xiàn)文字高光水波漸變的動態(tài)效果實(shí)例
這篇文章介紹的是用CSS實(shí)現(xiàn)文字高光水波漸變的效果,實(shí)現(xiàn)后效果很漂亮,對大家日常開發(fā)很有用處,下面小編整理好分享給大家。有需要的可以參考。2016-08-29一款純css3實(shí)現(xiàn)的顏色漸變按鈕的代碼教程
今天給大家分享一款純css3實(shí)現(xiàn)的顏色漸變按鈕,這款按鈕的邊框和文字的顏色通過css3實(shí)現(xiàn)兩種顏色的漸變,清新淡雅,效果非常好看,需要的朋友可以參考下2014-11-12- 本文介紹的技術(shù)很經(jīng)典,也算是一篇老文章了,相信很多人也都看過,之前神飛有注意到國內(nèi)有些翻譯,但是不全面,這里我就將其完整的翻譯了一下。2009-08-03
- 在web前端開發(fā)過程中,UI設(shè)計(jì)師經(jīng)常會設(shè)計(jì)一些帶漸變文字的設(shè)計(jì)圖,在以前我們只能用png的圖片來代替文字,今天小編給大家?guī)砹薱ss實(shí)現(xiàn)文字顏色漸變的三種方法,一起看看2018-11-22