溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

分享CSS項目懸停過渡動畫三部曲的實現(xiàn)

發(fā)布時間:2021-11-06 15:28:32 來源:億速云 閱讀:151 作者:iii 欄目:web開發(fā)

這篇文章主要講解了“分享CSS項目懸停過渡動畫三部曲的實現(xiàn)”,文中的講解內(nèi)容簡單清晰,易于學(xué)習(xí)與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“分享CSS項目懸停過渡動畫三部曲的實現(xiàn)”吧!

項目設(shè)置

在這個項目中,我們將把過渡效果應(yīng)用到一個class為box的元素上面。這個box元素內(nèi)部是垂直和水平居中的文字內(nèi)容。HTML結(jié)構(gòu)相當(dāng)簡單:

<div class='box'>
  <p>TEXT</p>
</div>

CSS代碼也一樣簡單。我們想要使用無襯線字體,并確保div中的段落文本是白色的,可以通過如下代碼來實現(xiàn):

body {
  color: white;
  font-family: Helvetica, Sans-Serif;
}

另外,給box元素添加如下CSS屬性:

.box {
  width:200px;                 /* Set the Width of box          */
  height:50px;                 /* Set the Height of box         */
  background:#424242;          /* Dark Grey Background color    */
  transition:all 0.25s ease;   /* Transition settings           */
  display: flex;               /* Use Flexbox on P              */
  align-items: center;         /* Center P                      */
  justify-content: center;     /* Center P                      */
  margin: 10px;                /* Apply a margin around our Box */
}
  • 無論你對CSS的過渡屬性熟悉與否,我們在這里都來簡要介紹一下,一共分為三步。.第一步,我們需要將它應(yīng)用到all變化的屬性。接下來,設(shè)置過渡時長為0.25秒。最后,將動畫函數(shù)選為ease。ease的表現(xiàn)狀態(tài)就是起止過程比較緩慢,中間過渡迅速。

holly high! 目前準(zhǔn)備工作都已經(jīng)就緒,接下來就是添加過渡效果了。到目前為止,div看起來應(yīng)該像下面這樣。

分享CSS項目懸停過渡動畫三部曲的實現(xiàn)

  1. 褪色效果

首先,添加一個褪色的過渡。新建一個div元素,并為它添加一個名為fade的類:

<div class='box fade'>
  <p>FADE HERE</p>
</div>

接下來我們所需要做的就是為這個fade類指定懸停規(guī)則。我們需要借助CSS偽類選擇器:hover來完成這件事情。這個偽類選擇器對所有的元素都有效,并且會在元素處于鼠標(biāo)指針懸停狀態(tài)下的時候激活CSS聲明。基于此,我們借助:hover選擇器將div的透明度改為0.5:

.fade:hover {
  opacity: 0.5;
}

簡單吧。上面這句CSS聲明就為div指定了一個懸停效果。如下就是目前它展現(xiàn)的樣子。而你之所以能夠看到過渡樣式,是因為我們一開始在名為box的類中使用了transition:all 0.25s ease;的聲明??聪旅妫遣皇且粋€還不錯的褪色效果:

分享CSS項目懸停過渡動畫三部曲的實現(xiàn)

2.來點顏色看看

指定一個變色過渡其實和褪色過渡的過程異曲同工。首先,創(chuàng)建一個div元素,并為它添加一個名為color的類。

<div class='box color'>
  <p>COLOR HERE</p>
</div>

同樣地,我們也要借助:hover選擇器來幫我們完成這件事,但是這一次我們不是改變透明度而是背景色:

.color:hover {
  background: #FF5722;
}

如下就是實際效果了:

分享CSS項目懸停過渡動畫三部曲的實現(xiàn)

3.一起搖擺

接下來,來實現(xiàn)一個擺動的效果。這個效果實現(xiàn)起來比前面的兩個例子稍顯復(fù)雜。在這個例子中,我會采用@keyframes來完成。

@keyframes——賦予你在一個CSS動畫序列中控制中間步驟的魔力。

首先還是一樣,你肯定已經(jīng)聽煩了,創(chuàng)建一個div元素,并未它添加一個名為wiggle的類:

<div class='box wiggle'>
  <p>WIGGLE WIGGLE</p>
</div>

接下來,我們要做的就是借助@keyframes來創(chuàng)建動畫。我們先給動畫起個名字,就叫wiggle吧。并在如下的代碼中添加抖動效果的實現(xiàn):

@keyframes wiggle {
  20%  { transform: translateX(4px);  }
  40%  { transform: translateX(-4px); }
  60%  { transform: translateX(2px);  }
  80%  { transform: translateX(-1px); }
  100% { transform: translateX(0);    }
}

從上面的代碼已經(jīng)可以看出,@keyframes賦予我們將動畫分解成單步,并且精確定義每一步發(fā)生了什么的能力。通過百分比的方式指定動畫的進度:

  • 20%——div相對于初始位置右移4px。

  • 40%——div相對于初始位置左移4px。

  • 60%——div相對于初始位置右移2px。

  • 80%——div相對于初始位置左移1px。

  • 100%——div恢復(fù)到初始位置。

現(xiàn)在我們就能借助:hover選擇器來展示wiggle的動畫了:

.wiggle:hover {
  animation: wiggle 1s ease;
  animation-iteration-count: 1;
}

我們將animation設(shè)置成wiggle。同時希望動畫持續(xù)1秒的時長,采用ease的動畫效果。

最后,就是指定動畫在每次鼠標(biāo)指針懸停的時候觸發(fā)一次。

下圖就是最終的動畫效果:

分享CSS項目懸停過渡動畫三部曲的實現(xiàn)

感謝各位的閱讀,以上就是“分享CSS項目懸停過渡動畫三部曲的實現(xiàn)”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對分享CSS項目懸停過渡動畫三部曲的實現(xiàn)這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關(guān)知識點的文章,歡迎關(guān)注!

向AI問一下細節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

css
AI