CSS 實現打字效果

2021-09-06 19:32:21 字數 1861 閱讀 7776

原文:

css 實現打字效果

最近做專案的時候需要實現乙個字元逐個出現的打字效果,在網上一搜有個不錯的jquery外掛程式typed.js,效果很讚

具體用法可以看看專案位址,帶注釋的原始碼200多行,不算複雜

實現方法也不神奇,大多數人肯容易可以想到,用js逐個向容器內新增字元,作者做了很多字元的出來還有速度神馬的,我們可以擼乙個簡單的

var s = 'hello world! hello world! hello world!';

var con = $('.container');

var index = 0;

var length = s.length;

var tid = null;

function start()

},100);

}start();

js bin

如果對細節和瀏覽器相容性要求的不是很嚴格,我們可以通過css3實現

css3的動畫都接觸過,我們平時這麼用

animation: animation-name animation-duration animation-iteration-count

animation: name 5s infinite;

其實完整版的animation引數很多,也可以寫成分別的屬性

animation-name

animation-duration

animation-timing-function

animation-delay

animation-iteration-count

animation-direction

今天我們就要關注一下animation-timing-function,大多數動畫在時間軸上時線性變化的,jquery動畫的時候我們用的liner引數就是這意思,但css3提供了一些其它的變化方式由animation-timing-function屬性指定

ease

linear

ease-in

ease-out

ease-in-out

step-start

step-end

steps

cubic-bezier

每種動畫效果都可以對應一種貝塞爾曲線 cubic-bezier可以幫我直觀的看一下貝塞爾曲線效果,這裡不多說了

我們看一下steps的效果,其實顧名思義就可以想到steps什麼意思,就像俄羅斯方塊的小格仔往下掉也是動畫,但是不是連續的,更像是逐幀的,steps就是實現這種效果的

steps的語法

steps(number_of_steps, [start|end])
看個科學的幫助理解

有了這些我們就能做個好玩兒的效果了

js bin

.walk 

@-webkit-keyframes anima

to }

打字效果也就可想而知了,改變容器寬度即可(只能單行使用,還得做到每步增加長度和字母寬度一致,還是js好其實)

.typing

@-webkit-keyframes type

}@keyframes type

}

js bin

mdn:timing-function

understanding css timing functions

好玩的CSS 實現打字效果

css是前端非常重要的技術也是對於前端熟練度的考察。很多的後端程式設計師表示在學習前端知識的時候,js其實不是強有力的攔路虎,眾多的實踐證明css才是後端程式設計師最煩惱的技術。所以,css是咱們前端程式設計師穩住飯碗的技術。學好css從我做起!今天我們用css實現一下打字的效果,這個還是比較好玩的...

CSS實現文字的打字機效果

本文章是完全通過html和css實現的打字機效果。在網上反覆查詢了挺多的資料,還看了挺多作者製作的打字機效果,感覺都沒達到自己想要的效果,就自己想了,一套思路。廢話不多說,邊看 邊解釋 此方法主要是通過給右邊框新增透明化和關鍵幀樣式,使其達到跳動游標的效果,文字部分通過 overflow hidde...

使用typeIt實現打字效果

我們可以通過typeit外掛程式實現打字效果。typeit 一 載入指令碼 可以使用cdn import typeit from typeit 二 呼叫函式 新建typeit物件,傳入需要打字效果的位置的元素名,設定好引數即可。new typeit element go 引數有很多,如reset f...