CSS制作漸變描邊等文字特效

前端開發(fā)工作中遇到的文本有很多特效,比如漸變色葵蒂、描邊交播、帶漸變色的描邊、文字外發(fā)光践付、投影等等∏厥浚現(xiàn)在總結(jié)一些經(jīng)驗,方便以后使用永高。
Tips: 以下方法并沒有考慮兼容性隧土,僅在chrome下測試。


text-shadow

利用 text-shadow實現(xiàn)文字描邊命爬,仔細一想是不是很酷曹傀?我們給文字加一圈不模糊的陰影,不就是在給文字描邊嗎遇骑?具體可以這樣操作:

<span class="demo1">Hello</span>
.demo1 {
  font-size: 100px;
  font-weight: 800;
  color: #232d2d;
  text-transform: uppercase;
  text-shadow: 1px 0 0 #eef85b, 0 1px 0 #eef85b, -1px 0 0 #eef85b, 0 -1px 0 #eef85b;
}

一個可愛的描邊效果誕生了:

text-shadow描邊效果

這還沒完卖毁,如果我們想描得粗一點呢揖曾?比如3px的描邊:
3px text-shadow描邊效果

不對勁欸落萎,描出來的邊不可導,哦不炭剪,不連續(xù)练链。不過換個角度,我們也創(chuàng)造了一種神奇的效果奴拦,類似像素風媒鼓。看來错妖,text-shadow 比較適合1px 這種比較難用肉眼去分辨文字拐角是否連續(xù)的描邊效果绿鸣。

-webkit-text-stroke

說到描邊,可以使用已有的CSS描邊屬性暂氯,CSS標準里還沒有潮模,只有帶瀏覽器前綴的屬性:-webkit-text-stroke。如果你需要考慮瀏覽器的兼容性痴施,就不要考慮用這個屬性了擎厢,IE瀏覽器是不支持的究流。

瀏覽器對 -webkit-text-stroke 的兼容性

當我們使用了這個屬性,可能會發(fā)現(xiàn)文本變瘦了动遭,好像描邊擠到了文本內(nèi)容芬探。為了研究-webkit-text-stroke的使用原理,特意給文本加上了半透明效果的描邊厘惦,如下圖所示偷仿。
-webkit-text-stroke 簡單使用

CSS代碼如下:

.demo2 {
  font-size: 200px;
  font-weight: 800;
  color: #fff;
  text-transform: uppercase;
  -webkit-text-stroke: 16px rgba(0, 0, 0, 0.5);
}

描邊的時候,瀏覽器是會沿著文本的外沿绵估,以外沿邊界為中心炎疆,左右對稱的渲染描邊效果。也就是說国裳,如果描邊的寬度是2px形入,那么文本外被描到1px,文本內(nèi)被描到1px缝左。所以文本的描邊會占用文本本身亿遂,也就會讓文本看起來變瘦。這種描邊有時候并不是我們想要的效果渺杉,如何在文本外進行描邊而不占用文本本身呢蛇数?這個時候就可以使用增強版的-webkit-text-stroke描邊技術(shù)。
我們需要把它的顏色設置成透明是越。如果僅進行如此操作耳舅,文本沒有任何變化,還需要借助-webkit-background-clip屬性倚评。這個屬性的取值有很多浦徊,這里用到了text-webkit-background-clip:text; 這樣使用可以讓背景色的顯示區(qū)域剪裁成前景中文本的形狀天梧。當文本是透明的時候盔性,就能顯示出背景色了。干巴巴地說呢岗,還是無法顯露出這種方法的精髓冕香,現(xiàn)在上個例子:
先給文本設置一個透明色描邊:

.demo2 {
  -webkit-text-stroke: 16px rgba(0, 0, 0, 0);
}
設置成透明色描邊

再給文本區(qū)域設置漸變背景色:

.demo2 {
  -webkit-text-stroke: 16px rgba(0, 0, 0, 0);
  background: -webkit-linear-gradient(-86deg, #eef85b 5%, #7aec8d 53%, #09e5c3 91%);
}
文本區(qū)域設置漸變背景色

有點意思了,然后把背景色的顯示區(qū)域剪裁成前景中文本的形狀:

.demo2 {
  -webkit-text-stroke: 16px rgba(0, 0, 0, 0); 
  background: -webkit-linear-gradient(-86deg, #eef85b 5%, #7aec8d 53%, #09e5c3 91%); 
  -webkit-background-clip: text;
}

背景色的顯示區(qū)域剪裁成前景中文本的形狀

哦了后豫,無形中制作出了漸變色描邊效果悉尾,描邊寬度 8px。而且也能意識到挫酿,描邊是文本的一部分构眯。把漸變色背景改成純色或者圖片,大家應該能想象到效果吧饭豹。
如果我們再多加一個CSS樣式:-webkit-text-fill-color: transparent;鸵赖,又會變成什么效果呢务漩?答案馬上揭曉:
揭曉答案

文字太粗了?沒事兒它褪,把描邊樣式刪掉就可以變成正常寬度的這種漸變文字效果了饵骨。無形中又增加了奇怪的技能。

filter:drop-shadow()

This function is somewhat similar to the box-shadow property. The box-shadow property creates a rectangular shadow behind an element's entire box, while the drop-shadow() filter function creates a shadow that conforms to the shape (alpha channel) of the image itself.

非常有用的一個屬性茫打,比如上面我們提到的text-shadow實現(xiàn) 3px 描邊會比較尷尬居触,但是用這個屬性就再也不用擔心了:

3px drop-shadow() 描邊效果

CSS代碼如下:

.demo3 {
  font-size: 100px;
  font-weight: 800;
  color: #232d2d;
  text-transform: uppercase;
  filter: drop-shadow(3px 0 0 #eef85b) drop-shadow(-3px 0 0 #eef85b)
    drop-shadow(0 3px 0 #eef85b) drop-shadow(0 -3px 0 #eef85b);
}

drop-shadow()用來實現(xiàn)外發(fā)光也超nice,當然也可以使用text-shadow老赤。

文字外發(fā)光效果

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
  • 序言:七十年代末轮洋,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子抬旺,更是在濱河造成了極大的恐慌弊予,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,204評論 6 506
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件开财,死亡現(xiàn)場離奇詭異汉柒,居然都是意外死亡,警方通過查閱死者的電腦和手機责鳍,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,091評論 3 395
  • 文/潘曉璐 我一進店門碾褂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人历葛,你說我怎么就攤上這事正塌。” “怎么了恤溶?”我有些...
    開封第一講書人閱讀 164,548評論 0 354
  • 文/不壞的土叔 我叫張陵乓诽,是天一觀的道長。 經(jīng)常有香客問我宏娄,道長问裕,這世上最難降的妖魔是什么逮壁? 我笑而不...
    開封第一講書人閱讀 58,657評論 1 293
  • 正文 為了忘掉前任孵坚,我火速辦了婚禮,結(jié)果婚禮上窥淆,老公的妹妹穿的比我還像新娘卖宠。我一直安慰自己,他們只是感情好忧饭,可當我...
    茶點故事閱讀 67,689評論 6 392
  • 文/花漫 我一把揭開白布扛伍。 她就那樣靜靜地躺著,像睡著了一般词裤。 火紅的嫁衣襯著肌膚如雪刺洒。 梳的紋絲不亂的頭發(fā)上鳖宾,一...
    開封第一講書人閱讀 51,554評論 1 305
  • 那天,我揣著相機與錄音逆航,去河邊找鬼鼎文。 笑死,一個胖子當著我的面吹牛因俐,可吹牛的內(nèi)容都是我干的拇惋。 我是一名探鬼主播,決...
    沈念sama閱讀 40,302評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼抹剩,長吁一口氣:“原來是場噩夢啊……” “哼撑帖!你這毒婦竟也來了?” 一聲冷哼從身側(cè)響起澳眷,我...
    開封第一講書人閱讀 39,216評論 0 276
  • 序言:老撾萬榮一對情侶失蹤胡嘿,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后钳踊,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體灶平,經(jīng)...
    沈念sama閱讀 45,661評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點故事閱讀 37,851評論 3 336
  • 正文 我和宋清朗相戀三年箍土,在試婚紗的時候發(fā)現(xiàn)自己被綠了逢享。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,977評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡吴藻,死狀恐怖瞒爬,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情沟堡,我是刑警寧澤侧但,帶...
    沈念sama閱讀 35,697評論 5 347
  • 正文 年R本政府宣布,位于F島的核電站航罗,受9級特大地震影響禀横,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜粥血,卻給世界環(huán)境...
    茶點故事閱讀 41,306評論 3 330
  • 文/蒙蒙 一柏锄、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧复亏,春花似錦趾娃、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,898評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蠕搜。三九已至豫领,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背缝呕。 一陣腳步聲響...
    開封第一講書人閱讀 33,019評論 1 270
  • 我被黑心中介騙來泰國打工枫夺, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留贺辰,地道東北人煎殷。 一個月前我還...
    沈念sama閱讀 48,138評論 3 370
  • 正文 我出身青樓,卻偏偏與公主長得像喊崖,于是被迫代替她去往敵國和親挣磨。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,927評論 2 355

推薦閱讀更多精彩內(nèi)容