純CSS實(shí)現(xiàn)的文字效果還可以這么酷炫

大家好芬膝,我是前端實(shí)驗(yàn)室的大師兄!

前言

CSS是一門很特殊的語(yǔ)言望门,你認(rèn)為CSS只能用來(lái)控制網(wǎng)頁(yè)的結(jié)構(gòu)與樣式,但只要你有豐富的想象力锰霜,就能創(chuàng)造無(wú)限可能筹误。

本文中大師兄為你精選了10個(gè)使用純CSS實(shí)現(xiàn)的文字炫酷效果,欣賞完之后一定要自己實(shí)現(xiàn)體驗(yàn)一番哦~

一.漸變文字效果


該效果主要利用background-clip:text配合color實(shí)現(xiàn)漸變文字效果
首先了解background-clip: text;的意思:以盒子內(nèi)的文字作為裁剪區(qū)域向外裁剪癣缅,文字之外的區(qū)域都將被裁剪掉厨剪。

  1. 給文本容器設(shè)置漸變背景
 background: linear-gradient(90deg, black 0%, white 50%, black 100%);
  1. 設(shè)置webkit-background-clip屬性,以文字作為裁剪區(qū)域向外裁剪
-webkit-background-clip: text;
        background-clip: text;
  1. 通過(guò)-webkit-animation屬性設(shè)置動(dòng)畫,即可實(shí)現(xiàn)上述效果
-webkit-animation: shining 3s linear infinite;
        animation: shining 3s linear infinite;

二.彩虹文字效果(跑馬燈)

.text {
    letter-spacing: 0.2rem;
    font-size: 1.5rem;
    background-image: -webkit-linear-gradient(left, #147B96, #E6D205 25%, #147B96 50%, #E6D205 75%, #147B96);
    -webkit-text-fill-color: transparent;
    -webkit-background-clip: text;
    -webkit-background-size: 200% 100%;
}

該效果也是利用background-clip:text和線性漸變屬性linear-gradient實(shí)現(xiàn)友存,通過(guò)設(shè)置區(qū)域顏色值實(shí)現(xiàn)了彩虹文字的效果祷膳。

動(dòng)態(tài)彩虹文字需要設(shè)置-webkit-animation屬性

-webkit-animation: maskedAnimation 4s infinite linear;

@keyframes maskedAnimation {
    0% {
        background-position: 0 0;
    }

    100% {
        background-position: -100% 0;
    }
}

三.發(fā)光文字效果


該效果主要利用text-shadow屬性實(shí)現(xiàn)。text-shadow屬性向文本添加一個(gè)或多個(gè)陰影爬立。該屬性是逗號(hào)分隔的陰影列表钾唬,每個(gè)陰影有兩個(gè)或三個(gè)長(zhǎng)度值和一個(gè)可選的顏色值進(jìn)行規(guī)定。

.neon {
    color: #cce7f8;
    font-size: 2.5rem;
    -webkit-animation: shining 0.5s alternate infinite;
    animation: shining 0.5s alternate infinite;
}
@-webkit-keyframes shining {
    from {
        text-shadow: 0 0 10px lightblue, 0 0 20px lightblue, 0 0 30px lightblue, 0 0 40px skyblue, 0 0 50px skyblue, 0 0 60px skyblue;
    }

    to {
        text-shadow: 0 0 5px lightblue, 0 0 10px lightblue, 0 0 15px lightblue, 0 0 20px skyblue, 0 0 25px skyblue, 0 0 30px skyblue;
    }
}

四.打字機(jī)效果


該效果主要是通過(guò)改變?nèi)萜鞯膶挾葘?shí)現(xiàn)的。

.typing {
    color: white;
    font-size: 2em;
    width: 21em;
    height: 1.5em;
    border-right: 1px solid transparent;
    animation: typing 2s steps(42, end), blink-caret .75s step-end infinite;
    font-family: Consolas, Monaco;
    word-break: break-all;
    overflow: hidden;
}
/* 打印效果 */
@keyframes typing {
    from {
        width: 0;
    }

    to {
        width: 21em;
    }
}

/* 光標(biāo) */
@keyframes blink-caret {

    from,
    to {
        border-color: transparent;
    }

    50% {
        border-color: currentColor;
    }
}

white-space:nowrap屬性主要是為了保證一行顯示抡秆,這里考慮到英文字母的顯示奕巍,去除了該屬性,保證不會(huì)出現(xiàn)字符間斷的情況儒士。

word-break:break-all使英文字符可以一個(gè)一個(gè)的呈現(xiàn)出來(lái)的止。

animation屬性中的steps功能符可以讓動(dòng)畫斷斷續(xù)續(xù)的執(zhí)行,而非連續(xù)執(zhí)行着撩。

steps()語(yǔ)法表示:steps(number, position)诅福,其中number關(guān)鍵字表示將動(dòng)畫分為多少段
position關(guān)鍵字表示動(dòng)畫是從時(shí)間段的開頭連續(xù)還是末尾連續(xù)拖叙,支持startend倆個(gè)關(guān)鍵字氓润,含義分別如下:

  • start:表示直接開始
  • end:表示戛然而止,為默認(rèn)值

光標(biāo)效果是通過(guò)box-shadow模擬實(shí)現(xiàn)的薯鳍。
通過(guò)上述的這幾個(gè)屬性就可以實(shí)現(xiàn)一個(gè)簡(jiǎn)易的打字機(jī)效果了~

五.故障風(fēng)格文字效果


該動(dòng)畫效果比較復(fù)雜咖气,主要用到了CSS偽元素元素自定義屬性挖滤、蒙版屬性崩溪、animation動(dòng)畫等等。

<div class="text" data-text="歡迎關(guān)注【前端實(shí)驗(yàn)室】">
  歡迎關(guān)注【前端實(shí)驗(yàn)室】
</div>

這里主要使用了自定義屬性斩松,data-加上自定義的屬性名伶唯,賦值要顯示的文字供偽元素獲取到對(duì)應(yīng)的文字。

@keyframes animation-before{
    0% {
        clip-path: inset(0 0 0 0);
    }
    ...
    100% {
        clip-path: inset(.62em 0 .29em 0);
    }
}

@keyframes animation-after{
      0% {
        clip-path: inset(0 0 0 0);
    }
    ...
    100% {
        clip-path: inset(.29em 0 .62em 0);
    }
}

這里設(shè)置了兩個(gè)keyframes惧盹,分別為 animation-before 乳幸、animation-after,前者是準(zhǔn)備給偽元素 before 使用的钧椰,后者是給偽元素 after 使用的反惕。

其中clip-path屬性是CSS3的新屬性蒙版,其中的inset()值表示的是蒙版形狀為矩形,定義蒙版的作用區(qū)域后通過(guò)@keyframes來(lái)設(shè)置逐幀動(dòng)畫演侯,使蒙版的作用區(qū)域在垂直方向一直變化姿染,實(shí)現(xiàn)上下抖動(dòng)的效果。

.text::before{
    content: attr(data-text);
    position: absolute;
    left: -2px;
    width: 100%;
    background: black;
    text-shadow:2px 0 red;
    animation: animation-before 3s infinite linear alternate-reverse;
}
.text::after{
    content: attr(data-text);
    position: absolute;
    left: 2px;
    width: 100%;
    background: black;
    text-shadow: -2px 0 blue;
    animation: animation-after 3s infinite linear alternate-reverse;
}

最后我們?cè)O(shè)置兩個(gè)偽元素beforeafter秒际,分別定位到跟父元素同樣的位置悬赏,然后分別向左、右側(cè)移一點(diǎn)點(diǎn)的距離娄徊,制作一個(gè)錯(cuò)位的效果闽颇,然后都將背景色設(shè)置為與父元素背景色一樣的顏色,用于遮擋父元素

這樣就可以實(shí)現(xiàn)了一個(gè)完美的故障風(fēng)格的文字展示動(dòng)畫了~


炫酷的特效可以為我們的網(wǎng)頁(yè)增添不一樣的風(fēng)采寄锐,本文中實(shí)現(xiàn)的效果源代碼大師兄已經(jīng)上傳到Github兵多,后臺(tái)回復(fù)文字特效即可獲取尖啡,快來(lái)跟我們一起學(xué)習(xí)吧!

進(jìn)了前端門剩膘,便是一家人
原創(chuàng)不易,點(diǎn)贊衅斩、留言、分享就是大師兄寫下去的動(dòng)力!

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末怠褐,一起剝皮案震驚了整個(gè)濱河市畏梆,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌奈懒,老刑警劉巖奠涌,帶你破解...
    沈念sama閱讀 211,561評(píng)論 6 492
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異磷杏,居然都是意外死亡溜畅,警方通過(guò)查閱死者的電腦和手機(jī),發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,218評(píng)論 3 385
  • 文/潘曉璐 我一進(jìn)店門极祸,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)达皿,“玉大人,你說(shuō)我怎么就攤上這事贿肩。” “怎么了龄寞?”我有些...
    開封第一講書人閱讀 157,162評(píng)論 0 348
  • 文/不壞的土叔 我叫張陵汰规,是天一觀的道長(zhǎng)。 經(jīng)常有香客問我物邑,道長(zhǎng)溜哮,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,470評(píng)論 1 283
  • 正文 為了忘掉前任色解,我火速辦了婚禮茂嗓,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘科阎。我一直安慰自己述吸,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,550評(píng)論 6 385
  • 文/花漫 我一把揭開白布锣笨。 她就那樣靜靜地躺著蝌矛,像睡著了一般。 火紅的嫁衣襯著肌膚如雪错英。 梳的紋絲不亂的頭發(fā)上入撒,一...
    開封第一講書人閱讀 49,806評(píng)論 1 290
  • 那天,我揣著相機(jī)與錄音椭岩,去河邊找鬼茅逮。 笑死璃赡,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的献雅。 我是一名探鬼主播碉考,決...
    沈念sama閱讀 38,951評(píng)論 3 407
  • 文/蒼蘭香墨 我猛地睜開眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼惩琉!你這毒婦竟也來(lái)了豆励?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 37,712評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤瞒渠,失蹤者是張志新(化名)和其女友劉穎良蒸,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體伍玖,經(jīng)...
    沈念sama閱讀 44,166評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡嫩痰,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,510評(píng)論 2 327
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了窍箍。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片串纺。...
    茶點(diǎn)故事閱讀 38,643評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖椰棘,靈堂內(nèi)的尸體忽然破棺而出纺棺,到底是詐尸還是另有隱情,我是刑警寧澤邪狞,帶...
    沈念sama閱讀 34,306評(píng)論 4 330
  • 正文 年R本政府宣布祷蝌,位于F島的核電站,受9級(jí)特大地震影響帆卓,放射性物質(zhì)發(fā)生泄漏巨朦。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,930評(píng)論 3 313
  • 文/蒙蒙 一剑令、第九天 我趴在偏房一處隱蔽的房頂上張望糊啡。 院中可真熱鬧,春花似錦吁津、人聲如沸棚蓄。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,745評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)癣疟。三九已至,卻和暖如春潮酒,著一層夾襖步出監(jiān)牢的瞬間睛挚,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 31,983評(píng)論 1 266
  • 我被黑心中介騙來(lái)泰國(guó)打工急黎, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留扎狱,地道東北人侧到。 一個(gè)月前我還...
    沈念sama閱讀 46,351評(píng)論 2 360
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像淤击,于是被迫代替她去往敵國(guó)和親匠抗。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,509評(píng)論 2 348

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