使用純CSS完成動(dòng)態(tài)的文字效果案例
發(fā)表時(shí)間:2023-09-08 來源:明輝站整理相關(guān)軟件相關(guān)文章人氣:
[摘要]相信大家都曾在網(wǎng)站中看到過中效果,一打開頁面,無論是文字還是圖片,都隨著規(guī)定時(shí)間的而變化,今天我們將介紹如何通過用純CSS來實(shí)現(xiàn)這種效果,下面一起來看看。大家可能經(jīng)常會(huì)看到酷炫的網(wǎng)站在這類網(wǎng)站中能看到,一打開頁面,無論是文字還是圖片,都隨著規(guī)定時(shí)間的而變化。原理很簡單,主要用到CSS中animat...
相信大家都曾在網(wǎng)站中看到過中效果,一打開頁面,無論是文字還是圖片,都隨著規(guī)定時(shí)間的而變化,今天我們將介紹如何通過用純CSS來實(shí)現(xiàn)這種效果,下面一起來看看。
大家可能經(jīng)常會(huì)看到酷炫的網(wǎng)站
在這類網(wǎng)站中能看到,一打開頁面,無論是文字還是圖片,都隨著規(guī)定時(shí)間的而變化。原理很簡單,主要用到CSS中animation屬性。
接下來,我以我目前的工程項(xiàng)目為例,實(shí)現(xiàn)文字和圖片的動(dòng)畫效果。
HTML代碼編寫:
復(fù)制代碼
代碼如下:
<section class="rw-wrapper">
<span class="span-title">文字題目</span>
<h2 class="rw-sentence">
</h2>
</section>
目前大體的框架已經(jīng)寫好,包含一個(gè)section標(biāo)簽,span(根據(jù)喜好添加),h2標(biāo)簽。接下來向其中添加文字代碼。將代碼放在h2中。
復(fù)制代碼
代碼如下:
<p class="rw-words rw-words-1">
<span>內(nèi)容1</span>
<span>內(nèi)容2</span>
...
</p>
第一種文字動(dòng)畫HTML。
復(fù)制代碼
代碼如下:
<p class="rw-words rw-words-2">
<span>內(nèi)容1</span>
...
</p>
第二種文字動(dòng)畫HTML。
復(fù)制代碼
代碼如下:
//同理
<p class="rw-words rw-words-3">
<span><img src="圖片路徑" width="XX" height="XX"></span>
...
</p>
圖片變換效果,如上GIF的展示。圖片從右滑動(dòng)并更替。
ok,至此HTML代碼搞定,現(xiàn)在來實(shí)現(xiàn)最核心的部分:CSS設(shè)置動(dòng)畫及字體樣式。
CSS代碼編寫
復(fù)制代碼
代碼如下:
.rw-words{
-webkit-perspective:800px;
-moz-perspective:800px;
-o-perspective:800px;
-ms-perspactive:800px;
perspactive:800px;
}
這里順帶一講,perspective 屬性定義 3D 元素距視圖的距離,以像素計(jì)。當(dāng)為元素定義 perspective 屬性時(shí),其子元素會(huì)獲得透視效果,而不是元素本身。數(shù)字800px代表元素距離視圖的距離。-moz代表firefox瀏覽器私有屬性,-ms代表IE瀏覽器私有屬性,-webkit代表chrome、safari私有屬性,-o代表opera瀏覽器私有屬性.
復(fù)制代碼
代碼如下:
.rw-words span{
white-space:nowrap; //文字不允許換行
overflow:hidden;
}
對于具體的<span>標(biāo)簽位置設(shè)置根據(jù)實(shí)際情況設(shè)置。
復(fù)制代碼
代碼如下:
.rw-words-1 span{
-webkit-animation: rotateWordsFirst 10s linear infinite 0s;
-o-animation: rotateWordsFirst 10s linear infinite 0s;
-moz-animation: rotateWordsFirst 10s linear infinite 0s;
-ms-animation: rotateWordsFirst 10s linear infinite 0s;
animation:rotateWordsFirst 10s linear infinite 0s;
}
這里使用動(dòng)畫效果!首先rotateWordsFirst是動(dòng)畫的名稱,10s 是整個(gè)動(dòng)畫完成一次的時(shí)間,linear是使用的時(shí)間曲線,infinite重復(fù)次數(shù)無限。
關(guān)于animation語法:
復(fù)制代碼
代碼如下:
animation: name duration timing-function delay iteration-count direction;
animation-name:規(guī)定需要綁定到選擇器的 keyframe 名稱。
animation-duration:規(guī)定完成動(dòng)畫所花費(fèi)的時(shí)間,以秒或毫秒計(jì)。
animation-timing-function :規(guī)定動(dòng)畫的速度曲線。
animation-delay :規(guī)定在動(dòng)畫開始之前的延遲。
animation-iteration-count :規(guī)定動(dòng)畫應(yīng)該播放的次數(shù)( infinite無限輪播 )
animation-direction :規(guī)定是否應(yīng)該輪流反向播放動(dòng)畫。
想要更多了解的,搜索:CSS系列之a(chǎn)nimationi.
接下來,animation的另一種。
復(fù)制代碼
代碼如下:
.rw-words-2 span{
-webkit-animation: rotateWordsFirst 10s ease-in infinite 0s;
-o-animation: rotateWordsFirst 10s ease-in infinite 0s;
-moz-animation: rotateWordsFirst 10s ease-in infinite 0s;
-ms-animation: rotateWordsFirst 10s ease-in infinite 0s;
animation:rotateWordsFirst 10s ease-in infinite 0s;
}
ease-in解釋:
ease 規(guī)定慢速開始,然后變快,然后慢速結(jié)束的過渡效果; ease-in 規(guī)定以慢速開始的過渡效果; ease-out 規(guī)定以慢速結(jié)束的過渡效果; ease-in-out 規(guī)定以慢速開始和結(jié)束的過渡效果(這幾種效果大家都可以嘗試)
同理,對.rw-words-3 span可以用同樣的方式設(shè)置。
復(fù)制代碼
代碼如下:
.rw-words span:nth-child(1){
-webkit-animation-delay: 3s;
-moz-animation-delay: 3s;
-o-animation-delay: 3s;
-ms-animation-delay: 3s;
animation-delay: 3s;
}
:nth-child(n) 選擇器匹配屬于其父元素的第 N 個(gè)子元素,不論元素的類型。n 可以是數(shù)字、關(guān)鍵詞或公式。
復(fù)制代碼
代碼如下:
.rw-words span:nth-child(n) {
-webkit-animation-delay: 6s;
-moz-animation-delay: 6s;
-o-animation-delay: 6s;
-ms-animation-delay: 6s;
animation-delay: 6s;
}
...
設(shè)置不同的選擇器,來實(shí)現(xiàn)文字之間的顯示延遲。
復(fù)制代碼
代碼如下:
@-webkit-keyframes rotateWordsFirst/second {
0% { opacity: 0; -webkit-animation-timing-function: ease-in; width: 0px;}
//此屬性查看animation
5% { opacity: 1; -webkit-animation-timing-function: ease-out; width: 100%;}
17% { opacity: 1; } //設(shè)置不透明級別
20% { opacity: 0; }
100% { opacity: 0; }
}
keyframes對每一個(gè)動(dòng)畫定義時(shí)間軸,可以設(shè)置某個(gè)時(shí)間動(dòng)畫作用的元素是什么狀態(tài)。與animation配合使用。
然后寫出各個(gè)瀏覽器的適配,如-o,-moz,-ms等。
除了animation屬性,各位還可以試試transform屬性的使用,可以實(shí)現(xiàn)文字及其圖像的旋轉(zhuǎn),縮放等效果,以上就是利用純CSS實(shí)現(xiàn)動(dòng)態(tài)的文字效果的全部內(nèi)容,希望能對大家學(xué)習(xí)使用CSS有所幫助。
相關(guān)推薦:
CSS 文本字體顏色設(shè)置方法(CSS color)
以上就是利用純CSS實(shí)現(xiàn)動(dòng)態(tài)的文字效果實(shí)例的詳細(xì)內(nèi)容,更多請關(guān)注php中文網(wǎng)其它相關(guān)文章!
網(wǎng)站建設(shè)是一個(gè)廣義的術(shù)語,涵蓋了許多不同的技能和學(xué)科中所使用的生產(chǎn)和維護(hù)的網(wǎng)站。